1.文件更新紀錄
2.歷史更新
3.API限制
4.加密流程
5.登入流程+
1.5161651651
2.5445335451
3.5786786851
渠道接入整合指南  
[包含单钱包以及非单钱包 API]  
版本 v5.6.4  
目 录  
目 录  
I
V
1
图目录  
文件更新纪录  
1 章  
整个系统整合流程图  
6
2 章  
系统架构  
7
2
2
2
2
2
2
.1  
.2  
.3  
渠道网站  
7
7
8
8
8
8
钱包系统  
登入验证 API  
.4 eBET API 服务器  
.5 eBET Game 服务器  
.6 eBet 请求数据  
3 章  
整合环境  
9
3
3
3
3
3
.1  
.2  
.3  
.4  
.5  
环境  
9
9
9
9
9
渠道网站  
客户端  
白名单  
游戏登入  
4 章  
Ebet 产品  
10  
5 章  
多钱包说明  
11  
5
5
.1  
.2  
钱包种类  
规则  
11  
11  
6 章  
登入流程  
用户登入流程  
.1.1 普通登入  
13  
13  
15  
6
.1  
6
I
6
6
6
6
.1.2  
.1.3  
.1.4  
.1.5  
Token 登入  
20  
26  
30  
33  
AppLinks 登入  
用户信息(登入成功以后向渠道 API)  
DataModel  
7 章  
单钱包 API 规格  
词汇表(Glossary)  
概观(Overview)  
36  
36  
7
7
7
7
.1  
.2  
.3  
37  
密码系统(cryptosystem)  
38  
.4 Web-socket 模式  
39  
7
7
7
7
7
7
7
7
7
7
7
.4.1  
.4.2  
.4.3  
.4.4  
.4.5  
.4.6  
.4.7  
.4.8  
.4.9  
协议工作流程  
39  
工作流程图(workflow chart)  
Connect  
40  
41  
registerOrLogin  
syncCredit  
44  
52  
increaseCredit  
55  
HeartBeat  
69  
queryIncreaseCreditRecord  
refundSingleWallet  
71  
76  
.4.10 autoBatchRefund  
81  
.4.11 increaseCreditBatch  
87  
7
.5 REST 模式  
92  
7
7
7
7
7
7
7
7
7
.5.1  
.5.2  
.5.3  
.5.4  
.5.5  
.5.6  
.5.7  
.5.8  
.5.9  
协议工作流程  
92  
工作流程图(workflow chart)  
registerOrLogin  
93  
94  
syncCredit  
102  
105  
117  
122  
126  
132  
137  
139  
158  
increaseCredit  
queryIncreaseCreditRecord  
refundSingleWallet  
autoBatchRefund  
increaseCreditBatch  
7
7
7
.6 Access Token  
.7 DataModel  
.8 swStatusCode  
8 章  
由渠道商 request API  
159  
II  
8
8
8
8
8
8
8
8
.1  
.2  
.3  
.4  
.5  
.6  
.7  
创建用户<syncuser>  
159  
162  
165  
169  
171  
197  
199  
201  
201  
201  
202  
202  
215  
222  
225  
228  
232  
用户信息(无须登入)<userinfo>  
充值<recharge>  
充值状态查询<rechargestatus>  
查询下注记录<userbethistory>  
批量查询用户金额<getusermoney>  
获取用户额度记录<usertransaction>  
.8 API 设置用户个人投注上下限<getbetlimit>  
8
8
8
8
.8.1  
.8.2  
.8.3  
.8.4  
设计目的  
设计内容及清单  
概述  
功能设计  
8
8
8
8
8
.9  
更新单个玩家的房间类型投注限制<updatebetlimit>  
单钱包拉取失败 seqNo 记录<getseqnorecord>  
查詢報表<userbetsummary>  
查詢下注細單<userbetTracer>  
牌局結果路書<getcurrentluzhu>  
.10  
.11  
.12  
.13  
9 章  
问题和答复(Q&A)  
关于登入问题  
235  
235  
239  
239  
240  
241  
241  
243  
243  
243  
245  
245  
246  
246  
248  
248  
249  
9
9
9
9
9
9
9
.1  
.2  
.3  
.4  
.5  
关于查询用户信息问题  
关于充值问题  
关于查询用户下注记录  
关于对接注意事项  
.6 Ebet 方会发整合数据给对接方  
.7  
代码样本(供参考)  
9
9
9
9
9
9
.7.1  
.7.2  
.7.3  
.7.4  
.7.5  
.7.6  
C# 登入 API 代码样本  
JAVA 登入 API 代码样本  
PHP 登入 API 代码样本  
C# 请求服务器资源代码样本  
JAVA 请求服务器资源代码样本  
PHP 请求服务器资源代码样本  
9
.8 RSA 代码实作参考  
9
9
.8.1  
.8.2  
C# RSA 实现方法  
JAVA RSA 实现方法  
III  
9
9
.8.3  
.8.4  
PHP RSA 实现方法  
250  
250  
251  
252  
252  
253  
253  
253  
254  
254  
oAuth JS 窗口关闭  
9
9
.9  
关于 ebet 後台操作注意事项  
子渠道  
.10  
9
.10.1  
.10.2  
.10.3  
.10.4  
.10.5  
.10.6  
渠道如何创建子渠道?  
渠道如何获得子渠道 ID?  
子渠道如何创建用户?  
怎样知道用户已经是子渠道用户了呢?  
子渠道和渠道对接需要注意的信息  
禁止子渠道的处理方法  
9
9
9
9
9
10 备注窗体  
255  
255  
1
1
0.1  
0.2  
扑克牌牌面代码  
赔率表格  
255  
1
1
0.3  
0.4  
ApiStatusCode  
swStatusCode  
259  
260  
v5.6.4 更新内容  
261  
IV  
图目录  
1 系统整合流程图...................................................................................................6  
2 系统架构图...........................................................................................................7  
3 EBET 产品 ...........................................................................................................10  
4 流程图(手势或者手指纹登入) ..........................................................................20  
5 流程图.................................................................................................................26  
6 流程图.................................................................................................................30  
7 事件流程图.........................................................................................................42  
8 事件流程图.........................................................................................................44  
9 事件流程图.........................................................................................................52  
10 事件流程图.......................................................................................................55  
11 事件流程图.......................................................................................................69  
12 事件流程图.......................................................................................................94  
13 事件流程图.....................................................................................................102  
14 事件流程图.....................................................................................................105  
15 创建新用户流程.............................................................................................159  
16 查看用户信息流程.........................................................................................162  
17 充值流程图.....................................................................................................166  
18 查询下注记录图.............................................................................................171  
V
文件更新纪录  
编写日期  
编写者  
更新数据  
版本号  
2
2 Jan  
018  
Nice Ooi  
修改 Applinks 拼签,添加 oAuth 5.4.2  
关闭窗口 JS 代码,请求获取投  
注 下 注 记 录 必 须 带 入  
subChannelId 如果没有子渠道  
参数设置为 0,请求登入验证  
API 接口渠道必须添加我方的  
IP  
2
2
2 Jan  
018  
Nice Ooi  
修改 UserInfo 的拼签,添加注 5.4.2  
2
1
2
2 Mar  
018  
Nice Ooi  
Linger  
添加注明,添加 API 获取用户 5.4.2  
额度记录  
1
2
6 April  
018  
整合各个 API 文件,添加渠道 5.4.2  
访 问 游 戏 开 发 商 的 API  
response 返回增加 apiVersion  
字段(藉此来通知渠道该 API 的  
现行版本),以及 updatebetlimit  
updateGameList(藉此来通知渠  
道更新投注限额的游戏代码)  
2
2
6 April  
018  
Linger  
渠道商呼叫 userberhistory API 5.4.2  
request 新增下注状态的输  
入参数,以及返回的 response  
新增下注总额的 bet 字段  
2
2
5 May  
018  
Linger  
Linger  
单钱包 API increaseCredit 5.4.3  
betList 增加 number 字段,纪  
录玩家在轮盘下注的号码  
2
2
8 May  
018  
增加 recharge typeId 字段,增加 5.4.3  
userinfo getusermoney 增  
1
返回目錄  
编写日期  
编写者  
更新数据  
版本号  
加 多 钱 包 说 明  
以 及  
userbethistory betList 增加老虎  
机说明  
9
2
July  
018  
Linger  
Linger  
userbethistory 请求参数增加 5.4.3  
gameType, 返 回 参 数 增 加  
gameName.  
2
2
4 July  
018  
userbethistory 返回 gameType 5.4.4  
增 加 对 应 参 数 并 且 增 加  
gameName 字段,单钱包 API  
increaseCredit detail 增加  
tableType 参数  
2
2
Aug  
018  
Linger  
Benji  
章节 3.1. 新增账号收费规 5.4.4  
则的说明  
1
2
3
4
1
2
. 单钱包 increaseCredit 增加  
Type 参数  
. 添加单钱包说明渠道商须  
实作 API  
. 单钱包 registerOrLogin 参数  
补充  
2
2
0 Aug  
018  
5.4.5  
. 单钱包增加 API  
queryIncreaseCreditRecord  
. 钱 包 增 加  
refundSingleWallet  
API  
5
Sep 2018 Benji  
5.4.5  
5.4.5  
. API status code 补充  
rechargeStatus response status  
更改  
1
2
4 Sep  
018  
Benji  
5
5
001 为充值失败  
002 为取款失败  
-
1 为 流水号不存在  
API 参数新增说明:token 登入  
的时候, 渠道验证 accessToken  
要和 username 一起验证的备注  
说明  
1
2
7 Sep  
018  
Linger  
5.4.5  
2
返回目錄  
编写日期  
编写者  
更新数据  
版本号  
1
2
Oct  
018  
Benji  
registerOrLogin 加 参 数 5.4.6  
platform登录时让频道提前知  
道玩家的操作平台)  
增加单钱包 API increaseCredit  
Type 详细说明  
userbethistory API response 新  
platform & betTypeInterval  
参数  
betTypeInterval 参数表格  
1
2
2 Oct  
018  
Benji  
Benji  
5.4.6  
5.4.7  
Type bonusLucky &  
bonusQuota  
1
2
8 Oct  
018  
userbethistory 修正 count 参  
数类型为 int ,增加轮盘范例  
userbethistory response  
参数 playResult & banker Result  
2
2
3 Nov  
018  
Benji  
Benji  
5.4.8  
5.4.9  
8 新增 API  
userbetsummary  
userbetTracer  
2
2
6 Nov  
018  
新增 status code 208 & 4038  
8 所有 API 增加請求参数  
currency ( 多貨幣渠道使用 )  
增加 getbetlimit 返回参数  
增加 updatebetlimit 請求参数  
增加 API <getcurrentluzhu>  
增加 usertransaction 請求参数  
增加 userbethistory 回傳参数  
增加第 10 賠率表格  
單錢包增加備註说明  
2
2
8 Nov  
018  
Benji  
Benji  
5.5.0  
5.5.1  
1
2
1 Dec  
018  
增加 Token 跳轉 link 说明  
1
2
8 Dec  
018  
Leo  
5.5.2  
1.直接進入游戏列表  
3
返回目錄  
编写日期  
编写者  
更新数据  
版本号  
2.直接進入游戏桌  
补充子渠道相关说明  
增加 userBetTracer 参数说明  
4
2
Jan  
019  
Leo  
Leo  
5.5.3  
5.5.4  
增加牛牛相關说明  
1
2
5 Jan  
019  
1
2
. userbethistory 新增部分參數  
. increasecredit,  
userbethistory,  
updatebetlimit, getbetlimit 增  
加相關參數  
修改牛牛赔率和参数说明  
修改 oAuth JS 窗口关闭的提供  
代码  
3
2
0 Jan  
019  
Leo  
5.5.5  
新增 betmoney 参数说明  
increasecredit 名称修正(API 文  
)  
新增 increasecredit 范例(骰宝、  
轮盘)  
新增 API: autoBatchRefund  
新增 transactions 的回传参数  
1
2
4 Feb  
019  
Leo  
Leo  
Leo  
5.5.6  
5.5.7  
5.5.8  
調整 API:usertransaction  
2
2
7 Feb  
019  
新增语系  
1
2
4 Mar  
019  
修正 API :userbethistory  
新增登入用參數  
1
2
9 Mar  
019  
Leo  
Leo  
5.5.9  
5.6.0  
新增單錢包的 type 類型  
補充牛牛相關範例  
修正牛牛 payout 计算规则  
修正单钱包的 type 类型并补充  
相关范例  
2
2
6 Mar  
019  
新增错误代码说明  
新增 userbethistory 回传参数  
4
返回目錄  
编写日期  
编写者  
更新数据  
版本号  
修改有效投注说明  
8
2
April  
019  
Leo  
5.6.1  
新增货币代码  
1
2
9 April  
019  
Leo  
5.6.2  
新增 userbetsummary 回传参数  
新增 increaseCredit 回传参数  
新增 api : increaseCreditBatch  
新增关于 ebet 后台操作注意事  
新增 userbethistory 回傳參數  
修改牛牛赔率规则  
3
2
May  
019  
Leo  
Leo  
5.6.3  
5.6.4  
新增 increaseCredit 機制說明  
修改牛牛赔率  
2
2
4 May  
019  
修改牛牛預扣金額  
点此查看本次更新详细说明  
5
返回目錄  
1整个系统整合流程图  
开始阶段了解渠道商的要求,例如:渠道商主要的市场、用户  
规范、游戏应用语言、游戏应用使用的货币、下注金额使用/显  
示设置等等。  
准备阶段渠道提供给数据给 eBET 管理员。渠道数据有渠道公司  
名、游戏应用显示名字、域名、登录图标、游戏内图标、以及手  
机应用图标。  
系统对接渠道开发人员与 eBET 技术人员进行系统整合。系统整  
合的数据会提供给渠道。  
应用测试进行应用测试。  
1 系统整合流程图  
6
返回目錄  
2系统架构  
2 系统架构图  
注记:黄色注明为渠道需要开发的项目  
2.1 渠道网站  
代表渠道公司的现金网网站,拥有以下功能如  
用户登入注册  
用户钱包充值,转进转出金额  
登入不同的游戏平台商游戏  
下载客户端应用  
2.2 钱包系统  
代表渠道后台系统,拥有以下功能(通过 eBET 提供的 API 接  
口实现)  
查询用户  
充值,转进转出金额,查询充值流水号状态  
创建用户(附加功能可以有注销用户,冻结用户户口等等)  
查询用户投注记录  
7
返回目錄  
2.3 登入验证 API  
用户验证功能,验证有分为  
用户名/密码  
验证 Token(令牌)  
务必添加服务器请求数据 IP  
2.4 eBET API 服务器  
提供渠道资源,渠道系统会发送 HTTP POST 请求去这个 API  
服务器。  
2.5 eBET Game 服务器  
游戏服务器。  
2.6 eBet 请求数据  
请求的参数大小写要严格遵守需求,否则会导致获取不正确  
的数据。  
8
返回目錄  
3整合环境  
3.1 环境  
一、目前只提供单一环境,同时进行测试和在线。  
二、建议使用(前缀 test)的账号进行测试,方便渠道自行辨识测  
试账号还是正式玩家账号,如果正式上线,每种账号仍须计  
算费用。  
三、测试的数据是无法删除的。  
四、建议使用多个测试账号用来测试。  
3
3
3
.2 渠道网站  
钱包系统,登入验证 API 是由渠道商建立和维护。  
.3 客户端  
手机 eBET APP H5 客户端都是属于 eBET 负责的。  
.4 白名单  
白名单有 3 部分需要提供 ip 做添加, 如果没有特别要求, 则预  
设皆为开放  
1
2
. 游戏前端部分 (例如:玩家登入游戏)  
. 呼叫我方 ebet API (例如:查询投注记录, 充值, ...等等)  
3
. 渠道数据后台登入  
3.5 游戏登入  
一、  
二、  
登入游戏接口支持 http 以及 https  
https 需另外与我方客服做申请  
9
返回目錄  
4Ebet 产品  
3 Ebet 产品  
1 Ebet 产品说明  
产品  
支持  
游戏支持  
登入方式  
用户密码登入,Token  
自动登入,AppLinks  
登入  
eBET APP  
百家乐,龙虎,骰  
宝,轮盘  
Android  
手机版应用  
eBET H5  
百家乐,龙虎,骰 用户名密码登入,  
宝,轮盘 Token 自动登入  
计算机和手机  
(网页)  
10  
返回目錄  
5多钱包说明  
5.1 钱包种类  
一、  
一般储值金额存入的钱包  
二、 游戏钱包  
使用游戏钱包设定所存入的储值金额钱包(真人,电子...)  
通用钱包  
5.2 规则  
一、  
当渠道储值时未指定游戏钱包代码则统一入账到通用钱  
渠道储值时有游戏钱包设定则搜寻该用户的游戏钱包是  
二、  
否有该代码钱包,如果没有则新增,有的话将储值金额入账到  
该代码钱包  
三、  
四、  
游戏钱包只能针对指定的游戏钱包游戏使用  
例如:用户储值 200 获得游戏钱包储值为 240 到老虎机专  
用游戏钱包,240 都只能玩老虎机,不能玩其他游戏(真人,  
捕鱼..等)  
五、  
游戏钱包  
六、 渠道后台要能设定游戏钱包开关,预防紧急状况,可以把游  
戏钱包暂时关闭  
如果游戏钱包设定表该游戏钱包已被关闭,则不能使用该  
11  
返回目錄  
七、  
渠道后台要能看所有使用游戏钱包的状态  
搜寻条件  
游戏  
游戏钱包代码  
玩家名  
渠道  
子渠道  
搜寻结果  
该渠道所有玩家的游戏钱包消费状况  
点击玩家可以看到该玩家的详细游戏钱包消费  
八、  
九、  
十、  
游戏钱包的金额只能在其所设定的游戏钱包游戏使用  
达到特定条件就可以转换为通用钱包的金额  
单钱包使用游戏钱包功能则需要渠道验证是否使用游戏  
钱包  
十一、 消费金币优先使用游戏钱包,用完才能用通用钱包  
十二、 前端可以从金币点击弹出钱包列表供玩家查看  
十三、 游戏可以使用游戏钱包的话,显示游戏钱包符号  
十四、 预设储值钱包为通用钱包  
十五、 扣款方式如果游戏钱包不够,扣到通用钱包金额,该次如果  
中注, 则派彩会依照比例分配给 游戏钱包 和 通用钱包  
12  
返回目錄  
6登入流程  
6.1 用户登入流程  
登入三种方式:  
普通登入(eventType = 1)  
Token 登入(eventType = 4)  
AppLinks 登入(eventType = 3)  
普通登入当用户使用 H5 客户端或者手机客户端登入游戏里,  
用户填写该用户登入名和登入密码。  
eBet 服务器得到用户的登入信息后,会向渠道的 API 服务器发  
HTTP POST 用户信息登入验证请求。  
渠道 API 服务器需要判断该用户是否是认证合法用户(对的用  
户名和密码),还有判断该用户是属于渠道或者是子渠道和返  
回一个新的 accessTokenaccessToken 是用于 Token 自动登入)。  
(请观看 1. 普通登入)  
Token 登入当使用 accessToken 作为用户验证来登入游戏。  
每次用户第一次登入应用游戏里,都必须先通过普通登入(手  
势,指纹)。  
如果用户登入成功后设置使用手势或者是指纹登入(只支持  
IOS 而已),以后用户退出游戏 (不是退出账号),就可以用  
之前返回的 accessToken 来认证用户。  
13  
返回目錄  
如果用户退出账号,那么之前返回的 accessToken 就会被定位  
无效。  
如果是使用普通登入,accessToken 的值和生命周期都是由渠  
道系统自定义,Token 登入方式有手势登入,指纹登入,H5  
连接登入。(请观看 2. Token 登入)  
AppLinks 登入当用户通过渠道 HTML5 网页成功登入以后,点  
eBet 游戏应用链接(应用链接的值是由渠道系统自动根据用户  
登入去定义),则会把用户从渠道 HTML5 网页跳转进 eBet 应用游  
戏里,用户无需重新在 eBet 游戏应用里登入多一次。  
每 个 渠 道 都 有 一 个 独 立 的 后 缀 , 就 好 像  
aaa://login?u=username&p=password(请观看 3. AppLinks 登入)。  
以上每个请求登入方式都会发送用户认证 HTTP POST 向渠道  
API。  
每次用户登入成功以后,eBet 服务器会向渠道的 API 发送  
UserInfo 的数据。  
14  
返回目錄  
6.1.1 普通登入  
一、 流程图  
二、 普通登入过程  
用户打开应用游戏,输入用户名和密码。  
APP 客户端会发登入请求到 eBET 服务器。  
eBET 服务器获取客户端用户登入数据,然后向渠道的用户登  
入验证 Web API 发送 HTTP POST 请求  
渠道 WEB API 接受 HTTP POST 用户登入验证请求,判断用户  
是否是认证合法用户,然后返 HTTP POST 请求响应和一个新的  
TOKEN eBET 服务器  
eBET 服务器会根据返回的请求结果,然后判断用户是否能登  
入游戏。如果是验证失败,则显示错误提示。如果没有问题,  
用户则顺利登入游戏应用里。  
15  
返回目錄  
三、 普通登入请求参数  
登入请求参数是由 eBet 服务器获取了用户登入的信息后  
就向渠道 API 服务器发送 HTTP POST Request 用户验证请求。  
Post 请求 content-Type : application/json。  
名称  
类型  
示范值  
描述  
cmd  
string 是  
值为 RegisterOrLoginReq  
值为 1-使用用户名和密  
码验证登入  
eventType  
int  
int  
1
channelId  
username  
password  
signature  
-1  
渠道 ID  
string test  
string 123456  
string 是  
用户登入名(全小写)  
用户登入密码  
签 名 ( 符 串 拼 接 ):  
username+timestamp  
转成 RSA作范例)  
timestamp  
ip  
int  
1447722613 当前时间(Unix time)  
string 127.0.0.1  
玩家 IP  
用于 token 登入方法(手  
势,指纹)  
accessToken string 否  
16  
返回目錄  
所有的登入请求参数和返回参数是对接方测试回调链接。  
如果测试完成可以提供回调链接给我方添加到服务器上。  
四、 普通登入返回结果  
登入返回结果是渠道 API 服务器验证了用户信息后返  
回的 HTTP POST Response。  
返回数据类型是 JSON  
名称  
类型  
示 范 描述  
status  
int  
200  
状态代码:  
2
4
4
4
00 - 成功  
026 - 验证失败  
027 IP 无访问权限  
01 - 用户名或是密码不  
4
10 - 无效的 token  
05 - 渠道服务器在维护  
5
subchannelId int  
1001  
test  
来自指渠道管理员创建的  
子渠道 ID,没有就填 0  
accessToken  
username  
nickname  
string 是  
string 是  
返回对应的 accessToken  
登入的用户名  
昵称  
string  
不是  
如果不带入此参数,ebet server  
默认为随机  
17  
返回目錄  
一) 一个渠道可以拥有 0 或者 1 或者很多个子渠道。  
例如:渠道 A 可以拥有子渠道 AA 和子渠道 BB。  
二)当渠道成功开启后,渠道会有自己各自的 web 后台来监视和  
管理子渠道。  
只有渠道管理员才有权限去创建子渠道。  
当渠道 API 服务器验证用户时,如果用户是来自子渠道,  
就返回 status subChannelId,而如果用户不是来自其他  
子渠道,就只返回 status subChannelId 0。  
每次用户使用用户名和密码登入,渠道系统都必须返回一  
个新的 accessToken,用户才可以使用手势,手指纹登入。  
18  
返回目錄  
五、 请求处理流程  
一) 接受 HTTP POST 请求(请观看 1.3 普通登入参数),如果  
有任何的系统报错(Exception),返回 505 (渠道服务器在维护中  
的状态代码)。  
二) 检查配置文件系统是否正在维护中,以方便运维人员设置系  
统维护工作  
三) 检查签名验证是否成功。  
四) 检查客户端 IP 是否认证。  
五) 检查用户名和密码错误。  
六) 如果步骤 1 5 有问题,就返回对应的状态代码。如果都没  
有错误和用户认证成功,就建立一个新的 accessToken 为此用户。  
七) 查询用户是否来自子渠道。  
八) 返回对应的请求回应参数(请观看 1.4 普通登入返回参数)  
19  
返回目錄  
6.1.2 Token 登入  
4 流程图(手势或者手指纹登入)  
一、 Token 登入过程  
一) 如果用户登入成功后设置手势或者是手指纹登入,然后退出  
游戏(不是退出账号),打开应用游戏。  
二) 用户使用手势/指纹登入,eBET 服务器会把客户端保存的  
accessToken,发送 HTTP POST 请求到渠道用户登入验证 WEB API。  
三) 渠道用户验证 WEB API 接受 HTTP POST 用户验证请求后,需  
要根据 accessToken 来判断用户。  
四) eBET 服务器会根据返回来的HTTP POST 请求响应来判断用户  
是否能登入游戏里。如果是用户登入验证成功,则顺利登入游戏  
应用里。  
20  
返回目錄  
二、 H5 Token 登入 - 直接跳转进入游戏大厅  
一) 令牌登入,渠道需要在连接注入以下参数。  
二) 无需输入用户名密码在游戏客户端验证成功就可以直  
接跳转进入游戏大厅开始游戏。  
参数名  
username  
accessToken  
例子  
test(全小写)  
Abc12345  
例子1:  
http://<provide by ebet>/?infoUrl=h5/<provide by  
ebet>&username=test&accessToken=abc12345  
accessToken 请使用大小写英文及数字,不要使用其他特殊字符  
当玩家点击游戏连接,玩家和玩家的数据会跳转到 eBET H5 客  
户端,然后 eBET server 会发登入验证请求去渠道的 API 。  
渠道系统需要根据用户名和 Token 验证玩家登入资料。  
关于参数(请观看以下 Token 登入请求参数)。  
例子2:  
http://<provide by ebet>/?infoUrl=h5/<provide by  
ebet>&username=test&accessToken=abc12345& dgt=0  
网址后加上参数,让玩家可以藉由此网址直接进入该游  
21  
返回目錄  
戏大厅。例如:网页上有秀出来老虎机的游戏网址,玩家可  
直接点选该网址,点选后直接进入到老虎机游戏大厅。  
附注:此参数只针h5 网页  
dgt  
代码  
描述  
多台  
代码  
描述  
老虎机  
0
1
2
3
4
5
6
7
8
百家乐  
龙虎  
试玩老虎机  
区块链百家乐  
牛牛  
轮盘  
骰宝  
例子 3:  
http://<provide by ebet>/?infoUrl=h5/<provide by  
ebet>&username=test&accessToken=abc12345& gameType=0  
网址后加上参数,让玩家可以藉由此网址直接进入该游  
戏大厅。例如:网页上有秀出来老虎机的游戏网址,玩家可  
直接点选该网址,点选后直接进入到老虎机游戏大厅。  
附注:此参数可用于 h5 网页或 app,且只会显示该游戏  
列表  
gameType  
代码  
描述  
多台  
代码  
描述  
老虎机  
0
1
5
6
百家乐  
试玩老虎机  
22  
返回目錄  
2
3
4
龙虎  
轮盘  
骰宝  
7
8
区块链百家乐  
牛牛  
例子 4:  
http://<provide by ebet>/?infoUrl=h5/<provide by  
ebet>&username=test&accessToken=abc12345& tableCode=B1  
可直接进入指定的游戏桌,tableCode 详细清单请和客服人员索  
取。  
三、 Token 登入请求参数  
登入请求参数是 eBet 服务器向渠道 API 服务器发送  
HTTP POST 用户验证请求。  
Post 请求 contentTypeapplication/json  
名称  
类型  
示范值  
描述  
cmd  
string 是  
RegisterOrLoginReq  
eventType  
channelId  
username  
password  
signature  
int  
int  
4
值为 4Token 登入  
渠道 ID  
-1  
string 是  
string 否  
string 是  
用户登入名(全小写)  
用户登入密码  
签 名 ( 字 符 串 拼 接 ):  
timestamp  
+
23  
返回目錄  
accessToken  
(转成 RSA作范  
)  
timestamp  
ip  
int  
1447722613 当前时间(Unix time)  
string 是  
127.0.0.1  
玩家 IP  
accessToken string 是  
之前渠道系统返回的  
access Token 值  
[
备注]:accessToken 需要和 username 一起验证,不能单纯只验证  
accessToken  
24  
返回目錄  
四、 Token 登入返回参数  
登入返回结果是渠道 API 服务器验证了用户信息后返回的  
HTTP POST Response。  
返回数据类型:JSON  
名称  
类型  
示范值 描述  
status  
int  
200  
状态代码:  
2
4
4
4
4
5
00 成功  
026 验证失败  
027 IP 无访问权限  
01 用户名或是密码不对  
10 无效的 token  
05 渠道服务器在维护中  
subchannelId  
nickname  
int  
1001  
来自指渠道管理员创建的子渠道  
ID,没有就填 0  
昵称  
string  
如果不带入此参数,ebet server  
默认为随机  
accessToken  
username  
string  
string  
返回对应的 accessToken  
accessToken 请使用大小写英文  
及数字,不要使用其他特殊字符  
test  
登入的用户名  
25  
返回目錄  
6.1.3 AppLinks 登入  
5 流程图  
一、 AppLinks 登入过程  
一) 用户在渠道网站成功登入账号。  
二) 当用户账号成功登入,渠道系统会自动根据用户名来生成  
AppLinks 链接。  
三) 当用户点击 AppLinks 链接的时候,用户的数据(在 AppLinks  
的参数里)会发送到 eBET 服务器。  
四) eBET 服务器得到了 AppLinks 的链接的参数,就会向渠道用  
户验证 WEB API 发送 HTTP POST 请求 (请观看以下 3.3  
AppLinks 登入请求参数)。  
26  
返回目錄  
五) 渠道用户验证 WEB API 接受 HTTP POST 请求后,需要判断  
用户是否是认证合法用户,然后在返回 HTTP POST 请求回应(请  
观看以下 3.4 AppLinks 登入返回参数)。  
六) eBET 服务器得到 HTTP POST 请求响应,判断用户示范能登  
入应用游戏里。  
二、 AppLinks 登入请求参数  
登入请求参数是 eBet 服务器获取了用户第一次登入  
的信息后就向渠道 API 服务器发送 HTTP POST 用户验证  
请求。  
Post 请求 contentType : application/json  
名称  
类型  
string  
int  
必须  
示范值  
描述  
cmd  
值为 RegisterOrLoginReq  
值为 3 AppLink 登入  
渠道 ID  
eventType  
channelId  
username  
password  
signature  
3
int  
-1  
string  
string  
string  
用户登入名(全小写)  
用户登入密码  
签 名 ( 字 符 串 拼 接 ):  
username+timestamp  
转成 RSA作范例)  
timestamp  
ip  
int  
1447722613 当前时间(Unix time)  
string  
string  
127.0.0.1  
玩家 IP  
accessToken  
之前返回新 access Token 值  
27  
返回目錄  
三、 AppLinks 登入返回参数  
登入返回结果是渠道 API 服务器验证了用户信息后返  
回的 HTTP POST Response。  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
status  
int  
200  
状态代码:  
2
4
4
4
4
5
00 成功  
026 验证失败  
027 IP 无访问权限  
01 用户名或是密码不对  
10 无效的 token  
05 渠道服务器在维护中  
subchannelId  
accessToken  
int  
1001  
来自指渠道管理员创建的子渠道  
ID, 没有就填 0  
string  
返回对应的 accessToken  
accessToken 请使用大小写英文及  
数字,不要使用其他特殊字符  
昵称  
nickname  
username  
string 不是  
如果不带入此参数,ebet server 默  
认为随机  
string  
登入的用户名  
一) 每个渠道都有各自的 AppLinks prefix 就好像 aaa 代表渠道 A  
bbb 代表渠道 B。  
二) AppLinks 的功能是把渠道用户从渠道的 HTML5 网页转进 eBet  
应用游戏里。  
28  
返回目錄  
三) 如果渠道用户已经在该渠道网站成功登入,则不需要再重新  
登入 eBet 应用游戏里。  
四) AppLink 的格式是 aaa://login?u=username&p=123。每次用户  
成功在渠道网站登入,就要自动的更新 AppLinks URL 地址,比如  
用户 test1 成功登入渠道网站,则设置 AppLinks URL 地址为 aaa:  
//login? u=test1&p=123,而用户 test2 成功登入渠道网站,则设置  
AppLinks URL 地址为 aaa://login? u=test2&p=456。  
五) 当用户在渠道网站点打开 eBet App 的时候,AppLinks 会链  
接去 eBet 的服务器。  
六) eBet 服务器收到请求以后再向渠道用户验证的 web api 服  
务器发请求。  
七) 最后渠道服务器再返回 eBet 服务器请求结果。  
八) 如果返回结果是成功,则用户会成功登入。  
九) eBet 服务器向渠道用户验证的 API 服务器发送请求的参数  
是和普通登入的参数一样,请观看(1. 普通登入参数 2.  
普通登入返回参数)。  
29  
返回目錄  
6.1.4 用户信息(登入成功以后向渠道 API)  
6 流程图  
当渠道 WEB API 认证用户返回成功以后,eBet 服务器会再  
向渠道的 WEB API 发送用户信息(相同地址)。  
这时候,渠道 WEB API 可以为用户检验数据,并且做有必  
要的调整如果有需要。  
一、 用户信息流程  
一) 用户尝试登入游戏。(普通,手势/指纹AppLinks 登入)  
二) 渠道用户验证 WEB API 获取 HTTP POST 请求, 判断用户是  
否是认证合法用户,然后返回 HTTP POST 请求给 eBET 服务器。  
三) eBET 服务器得到 HTTP POST 请求响应, 如果是认证用户,  
用户则登入成功。  
四) 用户登入成功以后,eBET 服务器会向渠道的 WEB API 地址  
发送用户信息数据。  
30  
返回目錄  
五) 渠道 WEB API 获取了数据,可以检验或者实现调整。  
二、 输入参数  
这个请求参数是由 eBET 服务器设置向渠道 API 服务  
器发送 HTTP POST 请求。  
Post 请求 contentType : application/json  
名称  
类型  
示范值  
描述  
cmd  
string  
string  
int  
UserInfo  
值为 UserInfo  
用户登入名(全小写)  
渠道 ID  
username  
channelId  
test  
-1  
subChannelId int  
0
子渠道 ID  
userId  
int  
用户 ID  
money  
timestamp  
ip  
double 100.0  
用户当前金额  
int  
1447722613 当前时间(Unix time)  
string  
string  
127.0.0.1  
玩家 IP  
签 名 ( 字 符 串 拼 接 ):  
username+timestamp  
signature  
转成 RSA作范  
)  
三、 返回参数  
名称  
类型  
必须 示范值  
描述  
31  
返回目錄  
status  
int  
200  
状态代码:  
2
4
5
00 成功  
026 验签失败  
05 渠道服务器在维护中  
32  
返回目錄  
6.1.5 DataModel  
Normal Login request  
{
"
"
"
"
"
"
"
"
cmd": "RegisterOrLoginReq",  
eventType": 1,  
channelId": 1,  
username": "test01",  
password": "111111",  
timestamp": 1550829240,  
ip": "127.0.0.1",  
signature":  
"
e/yb0rro3HZnrfO6LiVfQ9bl5Ke6QhyXNvpRc/G97VtMQe6acu2DeZV69+D1e+LlbACb  
nqEtOkPapqJCs/B+Mg=="  
}
Normal Login respose  
{
"
"
"
"
accessToken": "c1a48d2aef4861128b9749834d51d4eb",  
subChannelId": 0,  
username": "test01",  
status": 200  
}
Token Login request  
{
"
"
"
"
"
"
"
"
cmd": "RegisterOrLoginReq",  
eventType": 4,  
channelId": 1,  
username": "test01",  
accessToken": " c1a48d2aef4861128b9749834d51d4eb ",  
password": "",  
timestamp": 1550732000,  
ip": "127.0.0.1",  
33  
返回目錄  
"
signature":  
"
FQa2WUyp+Mfdfh0TCrxcVDeq08pGD7XVo0Zc66owK5Jrx35m3Uekc5Dq/9kYFImmQ  
8
}
yy7kfZNi8Lfk1greqbCw=="  
Token Login respose  
{
"
"
"
"
accessToken": "c1a48d2aef4861128b9749834d51d4eb",  
subChannelId": 0,  
username": "test01",  
status": 200  
}
AppLinks Login request  
{
"
"
"
"
"
"
"
"
cmd": "RegisterOrLoginReq",  
eventType": 3,  
channelId": 1,  
username": "test01",  
password": "8ed0aed9e628b48cdcfe743f3124964bb3a031280d11",  
timestamp": 1550890938,  
ip": "127.0.0.1",  
signature":  
"GXyDrcXgcBw1hNjYbiz3imO29S3m3LAV70jps5UW99SCbc8vM/MjSMVUwGwgG8m0  
VoRXk32ORPBIyQQpk5fqWCn67WL6mkZrheIrSWfEY+H+KSe6x65TaSlsmac11l4EUsOj  
0
}
lzb9GXLOMu7tiSm5XdzisZ89LKrIjgE7LYW/yE="  
AppLinks Login respose  
{
"
"
"
"
accessToken": "8ed0aed9e628b48cdcfe743f3124964bb3a031280d11",  
subChannelId": 0,  
username": "test01",  
status": 200  
34  
返回目錄  
}
Userinfo request  
{
"
"
"
"
"
"
"
"
"
cmd": "UserInfo",  
money": 1000,  
username": "test01",  
channelId": 1,  
subChannelId": 0,  
timestamp": 1550799653,  
userId": 101,  
ip": "127.0.0.1",  
signature":  
"
mz6zDF3HTN6dZ06Lec4VzRCWBT0RcG0niAXbdfg7CIgMygYVXCQahRkssIME6qwF0w  
H2PDyFuf/zkMXdEjzOcw=="  
}
Userinfo respose  
{
"
status": 200  
}
35  
返回目錄  
7单钱包 API 规格  
7.1 词汇表(Glossary)  
名称  
说明  
API  
应用程序接口(Application Programming Interface)  
Channel 渠道商/游戏合作伙伴(Gaming partner)  
RSA  
我 们 使 用 格 式 PKCS8 生 成 签 名 的 算 法 。  
https://en.wikipedia.org/wiki/RSA_(cryptosystem)  
我们将提供演示代码)  
下列表格为渠道商务必需实做 API  
Web-socket  
REST (HTTP)  
ws://abc123/registerOrLogin  
ws://abc123/syncCredit  
ws://abc123/increaseCredit  
ws://abc123/connect  
http://abc123/registerOrLogin  
http://abc123/syncCredit  
http://abc123/increaseCredit  
http://abc123/queryIncreaseCreditRecor  
d
ws://abc123/ Headbeat  
ws://abc123/queryIncreaseCreditRecor  
d
点此跳转 Web-socket  
/
REST (HTTP)  
abc123 皆为 domain name (由渠道提供)  
下列表格为渠道商依贵司需求实做 API  
Web-socket  
REST (HTTP)  
ws://abc123/refundSingleWallet  
ws://abc123/autoBatchRefund  
ws://abc123/increaseCreditBatch  
http://abc123/refundSingleWallet  
http://abc123/autoBatchRefund  
http://abc123/ increaseCreditBatch  
点此跳转 Web-socket  
/
REST (HTTP)  
abc123 皆为 domain name (由渠道提供)  
36  
返回目錄  
7.2 概观(Overview)  
此篇章主要是说明如何在渠道商(Channel)Ebet 平台之间做  
单钱包(single-wallet) 整合行为说明。  
目 前 单 钱 包 服 务 提 供 两 种 主 要 的 集 成 协 议 (integration  
protocol):  
Web-socket  
REST(HTTP)  
本章将显示所有事件命令(Event Command),工作流程图  
workflow chart)和序列图(Sequence diagram)。  
(
以下是规则和限制:  
一、  
二、  
三、  
四、  
五、  
URL Address is provide by Channel  
SSL tunnel please special request to Game Provider  
API URL Setting need configuration by Game Provider  
All URL address need IP white list by Game Provider  
REST need follow the Routing Path  
URL 协议格式  
说明  
Web-socket  
ws://192.168.1.1/api/  
wss://192.168.1.1/api/  
REST  
http://192.168.1.1/api/  
https://192.168.1.1/api/  
37  
返回目錄  
7.3 密码系统(cryptosystem)  
测试用的公钥(Public Key)和私钥(Private Key)  
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJq77G5ap/MjP2zkv  
Public Key  
vOZ40sgym6wLeeFSwAlwv4jAsSRNARSIc+WbFH3SeWiozL/SsBy  
CuyBEUex0YY tDaTfEqkCAwEAAQ==  
MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAm  
rvsblqn8yM /  
iMCxJE0BFIhz5ZsUfdJ5aKjMv9  
KwHIK7IERR7HRhi0NpN8SqQIDAQABAkEAl1bEOW77o2fPKg9U4  
/
bOS  
+
85njSyDKbrAt54VLACXC  
GecEqgAtmAklbQeFgfY  
/
r15gIzK6UZeaBHnw1n5p30JBr  
/
+
/
Private Key  
ElzukUdMu3bteyi  
IUA1mDXSK1RYAF  
RLZRir  
+
/
QIhAMzcvQRihFd  
oLoStMOyEmJ5  
IXgHAiEAwVvbQ4JnhZiUrtOMC3FNpiDPVXtRwnsD5  
+
M
+
DsFFk88CIDqlIjMEJ NCLGeewr / 8QSDkf7BN2KMLwdWXv22TcDe  
3AiAq6opmF4GGo3EMxKNmvsUvREUAghiJg + hABa32dGtO /  
QIhALLWkPk1COBEJ3tXVzsytigPqTTa PSsD3rqu5qUgWYVq  
+
38  
返回目錄  
7.4 Web-socket 模式  
7.4.1 协议工作流程  
事件  
描述  
connect  
这是渠道 API ebet API 之间的连接会  
话。两个连接完成后,渠道 API 将会根  
token 分配给 ebet APIebet API 以  
执行以下所有活动。  
registerOrLogin  
syncCredit  
这是验证用户名,密码或 token 真实性  
向渠道 API 同步玩家资金账户  
increaseCredit  
联机通信后,如果玩家下注或派彩,像  
渠道 API 做出增减金额的请求  
Headbeat  
定时确认网络联机是否有效  
queryIncreaseCreditRecord 藉由 increaseCredit 事件的 seqNo 来  
确认 渠道是否有处理成功的信息  
refundSingleWallet  
autoBatchRefund  
increaseCreditBatch  
可以针对单一投注失败做退款的API  
定时检查需退款的项目且请求退款  
批次请求处理increaseCredit的事件  
39  
返回目錄  
7.4.2 工作流程图(workflow chart)  
40  
返回目錄  
7.4.3 Connect  
此功能适用于游戏开发商与渠道商的 web-socket 联机。  
渠道商服务器需提供 ws://abc123/Connect  
abc123 皆为 domain name (由渠道提供)  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7e 序列号  
ebfd6144cfb26d  
c19  
event  
string  
int  
connect  
处理事件  
channelId  
timestamp  
1
渠道 ID  
long  
1511749800000  
时间戳(精确到毫  
秒)  
signature  
string  
Zqq0kk89Z1af0a 签名(字符串拼  
gcbXxq2DCuwK  
Ht9hnr6Yk3/eRe  
FTcBcEI6BN2cyD  
接)  
RSA seqNo +  
event + channelId  
4
wNujFDP2xlXQ  
+
timestamp)  
DsKmaxx5Jf2Hyl  
Ly9Ag==  
RSA 范例:作范  
使用 JSON 的格式向渠道商请求授权与 token 分配。  
41  
返回目錄  
7 事件流程图  
一、 游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/x-www-formurlencode  
Request 的范例  
{
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "connect",  
channelId": 1,  
timestamp": 1511749800000,  
signature":"Zqq0kk89Z1af0agcbXxq2DCuwKHt9hnr6Yk3/eReFTcBcEI6B  
N2cyD4wNujFDP2xlXQDsKmaxx5Jf2HylLy9Ag=="  
}
42  
返回目錄  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string 是  
fecf7a9d279df7  
传回与请求相同的  
eebfd6144cfb26 seqNo  
dc19  
event  
string 是  
connect  
处理的事件  
timestamp  
long  
int  
1511749800000 时间戳(精确到毫  
秒)  
status  
200  
详见 sw status  
sessionTok  
en  
string 是  
fecf7a9d279df7  
eebfd6144cfb26  
dc20  
渠 道 商 产 生 的  
token,用来识别所  
有事件的依据  
Response 的范例  
{"seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
"
"
"
"
event": "connect",  
timestamp": 1511749800000,  
status": 200,  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc20"}  
43  
返回目錄  
7.4.4 registerOrLogin  
这是从游戏网页中玩家登入游戏,验证玩家身份的 API。  
主要有两种模式:普通登入token 登入。  
渠道商服务器需提供 ws://abc123/registerOrLogin  
abc123 皆为 domain name (由渠道提供)  
【注意】:要先从 connect 请求拿到 sessionToken。  
8 事件流程图  
44  
返回目錄  
一、 普通登入:游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/json  
名称  
类型  
必须 示范值  
描述  
seqNo  
string  
fecf7a9d279df7eeb 序列号  
fd6144cfb26dc19  
event  
string  
int  
registerOrLogin  
处理事件  
channelId  
timestamp  
platform  
username  
password  
eventType  
1
渠道 ID  
long  
int  
1511749800000  
时间戳(精确到毫秒)  
详见表格  
1
string  
string  
int  
test001  
123456  
1
用户名  
用户密码  
1:使用玩家账号与密  
码登入  
4token 登入  
currency  
string  
string  
CNY  
详见表格  
sessionTok  
en  
fecf7a9d279df7eeb connect 事件回传  
fd6144cfb26dc20  
sessionToken  
signature  
string  
Gtv7vGCuSs/6gbzG 签名(字符串拼接)  
gsnhDKEpzFGbUtp  
Ndbx/sLiAKFE5qtQ  
Y7lcXo1AyUc/dNsN  
RSA(seqNo + event +  
channelId + timestamp  
+
username  
+
2
zYWWQqczPSz66  
password)  
UWLoBdW7w==  
RSA :作范例  
ip  
string  
192.168.0.1  
玩家 IP  
45  
返回目錄  
Request 的范例  
{
"username": "test",  
"
"
"
"
"
"
"
"
"
"
"
"
"
password": "123123",  
channelId": 1,  
platform": 1,  
currency": "CNY",  
ip": "xxx.xxx.x.xxx",  
eventType": 1,  
accessToken": null,  
event": "registerOrLogin",  
timestamp": 1534818248454,  
sessionToken": "c00628f0e631abc2b310be4be14574bc",  
seqNo": "909f0285acb61626aa927d83f4d0f33a",  
signature":  
l43xhKVix5zBAA2FkTEmJRidrjJ072jMt2EFW1nR03emVGJvMc5HlEuzYgt1bi1MOuY  
CNMivEXpg/hxa ==" }  
二、 普通登入:由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型  
必须 示范值  
描述  
seqNo  
string  
fecf7a9d279df7 回 与 请 求 相 同 的  
eebfd6144cfb2 seqNo  
6
dc19  
event  
string  
long  
registerOrLogin 处理事件  
timestam  
p
151174980000  
0
时间戳(精确到毫秒)  
username string  
nickname string  
test001  
用户名  
昵称  
不是  
如果不带入此参数,  
ebet server 默认为随机  
46  
返回目錄  
名称  
类型  
必须 示范值  
描述  
status  
int  
200  
详见 sw status  
accessTok string  
fecf7a9d279df7 来 识 别 使 用 者 的  
en  
eebfd6144cfb2  
accessToken,当玩家每  
次登入的时候,由渠道  
产 生 一 组 新 的  
accessToken  
6
dc20  
accessToken 请使用大  
小写英文及数字,不要  
使用其他特殊字符  
sessionTo  
ken  
string  
fecf7a9d279df7 sessionToken  
eebfd6144cfb2  
6
dc20  
subChann int  
elId  
1001  
游戏开发商知道使  
用者属于哪个子渠道  
currency  
language  
string  
string  
USD  
详见表格  
en_us  
详见下列表格  
language  
语系  
描述  
zh_cn  
zh_tw  
zh_hk  
en_us  
ms_my  
vi_vn  
ko_kr  
ja_jp  
简体中文  
繁体中文  
粤语  
英文  
马来文  
越南语  
韩文  
日语  
in_id  
th_th  
印度尼西亚文  
泰文  
47  
返回目錄  
es_es  
my_mm  
pt_pt  
西班牙语  
缅甸语  
葡萄牙語  
高棉語  
km_kh  
Response 的范例  
{"seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
"
"
"
"
"
"
"
"
"
event": "registerOrLogin",  
timestamp": 1511749800000,  
username" : "test001",  
status": 200,  
sessionToken": "c00628f0e631abc2b310be4be14574bc",  
accessToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
subChannelId" : 1001,  
currency" : "USD",  
language" : "en_us"}  
三、 Token 登入:游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7 序列号  
eebfd6144cfb2  
6
dc19  
event  
string  
int  
registerOrLogin 处理事件  
channelId  
timestamp  
1
渠道 ID  
long  
151174980000  
0
时间戳(精确到毫  
秒)  
platform  
int  
1
详见表格  
用户名  
username  
string  
test001  
48  
返回目錄  
accessToke  
n
string  
fecf7a9d279df7 由玩家上次登入游  
eebfd6144cfb2  
戏 所 取 得 的  
6
dc56  
accessToken  
[
备注]:accessToken  
需 要 username  
一起验证,不能单  
accessToken  
currency  
string  
int  
USD  
4
详见表格  
eventType  
1:使用玩家账号与  
密码登入  
4token 登入  
sessionTok  
en  
string  
string  
fecf7a9d279df7 connect 事件回  
eebfd6144cfb2  
6dc20  
传的 sessionToken  
signature  
HPsFxp3Y8kWD 签名(字符串拼接)  
V7o3hSKoZ/Yx  
RGeHqYOMS+o  
EcO4FkLATf9E  
MjTwGulsvHEi0  
RSA(seqNo + event  
+
timestamp  
username  
channelId  
+
+
+
2
2
46PXOiArFbJc  
mazOUGFhS+  
accessToken)  
RSA 作范例  
oQ==  
ip  
string  
192.168.0.1  
玩家 IP  
Request 的范例  
{"seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
"
"
"
event": "registerOrLogin",  
channelId": 1,  
timestamp": 1511749800000,  
platform": 1,  
username" : "test001",  
"
"
49  
返回目錄  
Request 的范例  
"
"
"
"
"
"
accessToken" : "fecf7a9d279df7eebfd6144cfb26dc56",  
eventType": 4,  
currency" : "USD"  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
signature":  
HPsFxp3Y8kWDV7o3hSKoZ/YxRGeHqYOMS+oEcO4FkLATf9EMjTwGulsvHEi0246PXO  
iArFbJc2mazOUGFhS+oQ==",  
"
ip" : "192.168.0.1"}  
四、 Token 登入:由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型 必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279d 传回与请求相同的  
f7eebfd6144c seqNo  
fb26dc19  
event  
string  
long  
registerOrLogi 处理事件  
n
15117498000 时间戳(精确到毫秒)  
timestamp  
00  
username  
nickname  
string  
string 不是  
test001  
用户名  
昵称  
如果不带入此参数,ebet  
server 默认为随机  
详见 sw status  
status  
accessToken string  
int  
200  
fecf7a9d279d 用来识别使用者的  
f7eebfd6144c accessToken,当玩家每  
fb26dc20  
次登入的时候,由渠道商  
产生一组新的  
accessToken  
accessToken 请使用大  
小写英文及数字,不要使  
50  
返回目錄  
名称  
类型 必须  
示范值  
描述  
用其他特殊字符  
sessionToke string  
n
fecf7a9d279d sessionToken  
f7eebfd6144c  
fb26dc20  
subChannelI int  
1001  
游戏开发商知道使用  
d
currency  
language  
者属于哪个子渠道  
详见表格  
string  
string  
USD  
en_us  
详见下列表格  
language  
语系  
描述  
zh_cn  
zh_tw  
zh_hk  
en_us  
ms_my  
vi_vn  
ko_kr  
ja_jp  
简体中文  
繁体中文  
粤语  
英文  
马来文  
越南语  
韩文  
日语  
in_id  
印度尼西亚文  
泰文  
th_th  
es_es  
my_mm  
pt_pt  
km_kh  
西班牙语  
缅甸语  
葡萄牙語  
高棉語  
Response 的范例  
"seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
{
"
"
"
event": "RegisterOrLogin",  
timestamp": 1511749800000,  
username" : "test001",  
51  
返回目錄  
"
"
"
"
"
"
status": 200,  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
accessToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
subChannelId" : 0,  
currency" : "USD",  
language" : "en_us"}  
7.4.5 syncCredit  
这是游戏开发商向渠道商同步玩家最新金额信息的 API。  
渠道商服务器需提供 ws://abc123/syncCredit  
abc123 皆为 domain name (由渠道提供)  
9 事件流程图  
一、 游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/x-www-formurlencode  
名称  
类型  
必须  
示范值  
描述  
52  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7e 序列号  
ebfd6144cfb26d  
c19  
event  
string  
int  
syncCredit  
1
处理事件  
渠道 ID  
channelId  
timestamp  
long  
1511749800000 时间戳(精确到毫  
秒)  
username  
string  
string  
test001  
用户名  
sessionTok  
en  
fecf7a9d279df7e connect 事件回  
ebfd6144cfb26d  
c56  
传的 sessionToken  
Request 的范例  
{
"
"
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": " syncCredit",  
channelId": 1,  
timestamp": 1511749800000,  
username" : "test001",  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc56"  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型  
示范值  
描述  
53  
返回目錄  
seqNo  
string  
fecf7a9d279df7ee 传回与请求相同  
bfd6144cfb26dc1  
9
seqNo  
event  
string  
long  
syncCredit  
处理事件  
timestamp  
1511749800000  
时间戳(精确到  
毫秒)  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
若回410 端玩  
被 踢 掉 示  
token 期  
money  
decimal 是  
10000.01  
最新的玩家金额  
Response 的范例  
{
"
"
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": " syncCredit",  
timestamp": 1511749800000,  
username" : "test001",  
status" : 200,  
money" : 10000.01  
54  
返回目錄  
7.4.6 increaseCredit  
这是负责处理玩家增加或减少金额变动的 APIseqNo 必须  
是独一无二的(请勿使用相同的 seqNo,为了避免金额重复扣  
除的情况发生)。  
派彩時我方有做 retry機制,若先已處理成功,則之後的請  
求請忽視(這個機制只有派彩才有,投注沒有此機制)  
渠道商服务器需提供 ws://abc123/increaseCredit  
abc123 皆为 domain name (由渠道提供)  
10 事件流程图  
55  
返回目錄  
一、 游戏开发商向渠道商发出的 Request  
Post 请求 contentType : application/x-www-form-urlencoded  
必须 示范值 描述  
fecf7a9d279df7eebfd6144cfb26 序列号(唯一值)  
名称  
类型  
seqNo  
string  
dc19  
event  
string  
int  
long  
string  
decimal  
increaseCredit  
1
1511749800000  
test001  
处理事件  
channelId  
timestamp  
username  
money  
渠道 ID  
时间戳(精确到毫秒)  
用户名  
10000.01  
玩家使用的额度,如果为负数代表玩家要  
扣金额  
sessionToken  
type  
string  
int  
fecf7a9d279df7eebfd6144cfb26 connect 事件回传的 sessionToken  
dc56  
1
详见下列 type 表格  
currency  
platform  
detail  
string  
int  
detail  
USD  
1
详见下列 currency 表格  
详见下列 platform 表格  
详见下列 detail 表格  
56  
返回目錄  
(一)  
type  
代码  
事务类型  
额度正负号  
详细说明  
1
Bet  
Payout  
Tips Dealer  
Recharge  
Withdraw  
-
+
-
不影响  
不影响  
下注  
2
3
4
5
派彩  
打赏荷官  
充值  
提款  
由我方运维人员从 backend 系统发起的活动, 如果玩家符合  
条件就会发送相关的 increaseCredit 事件  
目前不支持  
6
7
8
Bet Award  
+
+
-
Straight Award  
Match Baccarat Fee  
我方运维人员从 backend 系统开启大赛, 当玩家进入房间则  
会扣除一个报名费  
当玩家在大赛剩余的金额会退回玩家的钱包, 这时候也会呼  
increaseCredit 事件  
9
Match Baccarat Refund  
+
另外,大赛有 2 种模式。两种都会扣除玩家报名费, 但是只有  
一种模式会退回玩家金额,另一种不会退款并且只有比拼排  
目前不支持  
1
0
1
SyncMoney  
+
+
下注错误退还  
1
RefundwhenBetErr  
57  
返回目錄  
12  
13  
14  
15  
22  
23  
24  
27  
28  
BonusWin  
+
+
+
-
老虎机游戏免费旋转 Bonus  
老虎机游赢得奖金池金额  
大赛派彩  
JackpotWin  
MatchAward  
getBackMatchAward  
swrefund  
大赛奖金取回  
下注失败退款  
幸运红包  
+
+
+
-
bonusLucky  
bonusQuota  
Withholding  
WithholdingRefund  
限量红包  
预扣  
+
预扣返还  
58  
返回目錄  
(二)  
currency platform  
Currency 描述  
platform 描述  
币种  
CNY  
JPY  
描述  
人民币  
币种  
USD  
EUR  
BRL  
描述  
美元  
币种  
描述  
ETH 以太坊  
代码 玩家的游戏平台  
UST 泰达币  
-1  
0
1
Other  
Android  
iOS  
日元  
欧元  
THB  
BND  
TWD  
KHR  
TRY  
泰铢  
巴西雷亚尔  
波兰  
INR 印度  
汶莱  
PLN  
MMK  
HKD  
BTC  
RUB 俄罗斯  
KES 肯亚先令  
AUD 澳元  
2
3
Mobile H5  
PC H5  
新台币  
缅元  
柬埔寨瑞尔  
土耳其  
港币  
比特币  
韩圜  
MBT 比特币(1:1000)  
KRB 韩圜(1:1000)  
IDR 印尼盾(1:1000)  
VND 越南盾(1:1000)  
GBP  
MYR  
RON  
英镑  
KR2  
ID2  
马来西亚林吉特  
罗马尼亚  
印尼盾  
越南盾  
VN2  
返回 / Web-socket RegisterOrLogin response / REST 模式 RegisterOrLogin / Web-socket queryIncreaseCreditRecord / REST  
模式 queryIncreaseCreditRecord / usertransaction  
59  
返回目錄  
(三)  
detail  
名称  
类型  
string  
int  
必须  
示范值  
描述  
tableCode  
tableType  
B1  
1
游戏桌号  
代码  
游戏类型  
百家乐  
龙虎  
1
2
3
4
5
轮盘  
骰宝  
老虎机  
6
7
8
试玩老虎机  
区块链百家乐  
牛牛  
tableSubType  
roundCode  
int  
0
代码  
是否为竞咪桌  
1
2
non Mi Table  
Mi Table  
string  
B1-171204222000  
游戏桌的牌局号  
60  
返回目錄  
名称  
betTime  
betList  
srcResults  
results  
payout  
payoutTime  
validBet  
totalBet  
类型  
long  
BetList[]  
Int[]  
Int[]  
decimal  
long  
必须  
示范值  
1511749800000  
描述  
玩家下注时间(精确到毫秒)  
下注明细列表(见下一个表格)  
荷官开牌结果  
[2,16,null,26,39,null]  
[60]  
200.00  
1511749800000  
150.00  
150.00  
牌局计算结果,为派彩的依据  
派彩总额  
荷官派彩时间(精确到毫秒)  
有效投注  
decimal  
decimal  
投注总额  
紀錄是否為佣金百家樂  
只有百家樂才會有此字段  
brokerageRequired boolean  
true  
(四)  
betList  
名称  
类型  
必须  
示范值  
描述  
betMoney  
decimal  
100.01  
60  
下注金额  
betMoney=0 時,代表下注失敗【注】  
下注的类型,详见下页表格  
betType  
payout  
int  
decimal  
看情况 100.01  
派彩金额  
只有派彩的事件,才需要此字段  
61  
返回目錄  
名称  
seqNo  
类型  
string  
必须  
示范值  
描述  
看情况 fecf7a9d279df7eebfd6 投注序列号  
1
44cfb26dc19  
只有派彩的事件,才需要此字段,用来区分多  
次下注的结果  
详细可以参考 Request 的范例  
玩家在轮盘游戏下注的号码  
只有派彩的事件,以及玩家在轮盘游戏下注才  
会有此字段  
number  
string  
看情况  
注】:在单钱包渠道,此参数在派彩请求中有下注失败(betMoney=0)的时候,让渠道做判断是否要自行退款。以下提供  
两种方法供渠道做选择。  
方法 1.渠道自行处理退款和派彩事宜:  
Step1.当一般流程派彩,发现 betList 参数中存在 betMoney=0(下注失败) 时,渠道可以 查询 “seqNo 是否有存在这  
笔投注。  
Step2.存在就先自行退款,不存在就不做任何处理。  
Step3.最后才返回派彩成功的讯息给 eBet Server。  
[
需要注意]:  
62  
返回目錄  
moneyBefore是处理退款完成的玩家当前金额,  
moneyAfter moneyBefore+派彩金额  
方法 2.渠道不处理退款和派彩事宜, 退款由我  
方主动发起:  
需要分为两种情况:  
一)渠道能接受已经派彩的局,仍然能做投  
注失败退款  
Step1.eBet后台主动发起 状态查询API  
向渠道送出请求,查询是否有需要做请求退款  
的下注注单。我方会以 seqNo作查询求,请渠  
道务必储存这一项纪录)。  
Step2.我们若有存在就像渠道发出退款请求;  
如果没有存在,则 ebet server会自行修正此  
投注记录。  
Step3.处理完下注失败的纪录后,才会进行派  
彩补发的动作。  
二)渠道能接受已经派彩的局,无法做投注  
失败退款,只有派彩未成功的局能做投  
63  
返回目錄  
注失败退款  
Step1.返回派彩失败的讯息(status=200)eBet Server。  
Step2.eBet后台主动发起 状态查询API向渠道送出请求,查询是否有需要做请求退款的下注注单。(我方会以 seqNo  
作查询求,请渠道务必储存这一项纪录)。  
Step3.我们若有存在就像渠道发出退款请求; 如果没有存在,则 ebet server会自行修正此投注记录。  
Step4.处理完下注失败的纪录后,才会进行派彩补发的动作。  
64  
返回目錄  
五) betType  
百家乐  
轮盘  
描述  
骰宝  
代码  
描述  
代码  
200  
201  
202  
203  
204  
205  
206  
207  
208  
209  
210  
211  
212  
213  
代码  
100  
描述  
代码  
130  
131  
132  
133  
134  
135  
136  
137  
138  
139  
140  
141  
142  
143  
144  
描述  
14 点  
6
6
6
8
8
8
8
6
7
7
8
8
6
6
0
6
8
0
8
6
1
1
0
1
2
3
2
3
直接注  
闲对  
分注  
街注  
角注  
三数  
四个号码  
线注  
列注  
打注  
101  
15 点  
16 点  
1
1
1
1
1
1
1
1
1
1
1
1
1
02  
03  
04  
05  
06  
07  
08  
09  
10  
11  
12  
13  
14  
17 点  
庄对  
幸運六  
庄龙宝  
闲龙宝  
单点数  
对子 1  
对子 2  
对子 3  
对子 4  
对子 5  
对子 6  
围骰 1  
围骰 2  
围骰 3  
围骰 4  
围骰 5  
单点数 2  
单点数 3  
单点数 4  
单点数 5  
单点数 6  
组合 1-2  
组合 1-3  
组合 1-4  
组合 1-5  
组合 1-6  
庄单  
庄双  
闲单  
闲双  
2
14  
65  
返回目錄  
龙虎  
牛牛  
115  
16  
围骰 6  
全围  
4 点  
145  
146  
147  
148  
149  
150  
151  
152  
153  
组合 2-3  
组合 2-4  
组合 2-5  
组合 2-6  
组合 3-4  
组合 3-5  
组合 3-6  
组合 4-5  
组合 4-6  
组合 5-6  
二同号  
1
代码  
描述  
代码  
描述  
117  
118  
1
1
6
0
1
8
301 闲家 1 平倍  
302 闲家 1 翻倍  
303 闲家 2 平倍  
5 点  
1
1
1
1
1
1
1
1
19  
20  
21  
25  
26  
27  
28  
29  
6 点  
7 点  
3
3
3
04 闲家 2 翻倍  
05 闲家 3 平倍  
06 闲家 3 翻倍  
8 点  
9 点  
10 点  
11 点  
12 点  
13 点  
1
1
1
54  
55  
56  
三不同  
范例链接  
Baccarat  
Tips Dealer  
/
Bet request  
/
Bet response  
Payout request Tie  
Payout request Win  
/
Payout response Tie  
Payout response Win  
/
Roulette bet requsest / Roulette bet requsest / Roulette payout requsest / Roulette payout requsest  
Sic-bo bet requsest / Sic-bo bet response / Sic-bo payout requsest / Sic-bo payout requsest  
66  
返回目錄  
范例链接  
niuniu withholding requsest / niuniu withholding requsest  
niuniu bet requsest / niuniu bet requsest  
niuniu withholding refund requsest / niuniu withholding refund requsest  
niuniu payout requsest / niuniu payout requsest / 牛牛派彩规则  
RefundwhenBetErr request / RefundwhenBetErr response  
No-commission Baccarat Payout request / Commission Baccarat Payout request  
67  
返回目錄  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
seqNo  
类型  
必须  
示范值 描述  
fecf7a9d279df7eebfd 序列号  
144cfb26dc19  
string  
6
event  
timestamp  
string  
long  
increaseCredit  
1511749800000  
处理事件  
时间戳(精确到  
毫秒)  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
若回传 410 游戏  
端玩家会被踢掉  
显示 token 过期  
money  
decima  
l
10000.01  
900.01  
经过增减后的  
金额  
moneyBefor decima  
e
玩家原始的金  
l
Response 的范例  
{
"userName": test”,  
"
money": 1000.01,  
moneyBefore": 900.01,  
status": 200,  
"
"
"
"
event": "increaseCredit",  
seqNo": "ead44da3985109624d16a5c7d8240ad2" }  
68  
返回目錄  
7.4.7 HeartBeat  
仅用于 web-scocket 模式,用来判断使否处于联机状态或者  
断开联机。  
渠道商服务器需提供 ws://abc123/HeartBeat  
abc123 皆为 domain name (由渠道提供)  
11 事件流程图  
一、 游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/x-www-formurlencode  
名称  
seqNo  
类型  
必须  
示范值  
描述  
string  
fecf7a9d279df7eebf 序列号  
d6144cfb26dc19  
69  
返回目錄  
event  
channelId int  
timestamp long  
string  
HeartBeat  
1
1511749800000  
处理事件  
渠道 ID  
时间戳(精确到毫  
秒)  
Request 的范例  
{
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "HeartBeat",  
channelId": 1,  
timestamp": 1511749800000  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7eeb 传回与请求相同  
fd6144cfb26dc19  
HeartBeat  
1511749800000  
seqNo  
处理事件  
event  
timestamp  
string  
long  
时间戳(精确到  
毫秒)  
status  
int  
200  
详见 sw status  
Response 的范例  
{
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "HeartBeat",  
timestamp": 1511749800000,  
status" : 200  
70  
返回目錄  
7.4.8 queryIncreaseCreditRecord  
在我方补派彩之前, 可以藉由 increaseCredit 事件的 seqNo 来确认渠  
道是否有处理成功的信息  
API 适用环境:单钱包渠道  
API ProtocolWeb-socket  
渠道商服务器需提供 ws://abc123/queryIncreaseCreditRecord  
abc123 皆为 domain name (由渠道提供)  
[
说明]:  
如果 request 有带 querySeqNo 这个参数, 则渠道返回的  
creditRecord 只需要回传对应的 querySeqNo.  
如果 request 没有带 querySeqNo 这个参数 querySeqNo , 则渠  
道返回的 creditRecord 则需要回传跟 username roundCode  
相关的数据都要捞出来.  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/x-www-formurlencode  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7ee 序列号  
bfd6144cfb26dc19  
event  
string  
queryIncreaseCred 处理事件  
itRecord  
channelId  
timestamp  
int  
long  
1
渠道编号  
时间戳  
1511749800000  
ABCabc123  
test001  
sessionToken string  
username string  
sessionToken  
用户名  
71  
返回目錄  
querySeqNo  
roundCode  
signature  
string  
string  
string  
不是 abcdef23rrewgfre 查询  
wgewe  
increaseCredit 的  
序列号  
B2-123456789  
牌局号(防止贵  
司没有写入  
seqNo 的情况)  
OCSQhi49wW1kqg 签名(字符串拼  
qOvKUfrtmzzp+Z91 ):  
H8VfKWbOpuAo+X username+times  
3
7
tFSrSnBJ+uq7V0A tamp  
uETys0zyXYcASq6  
XiX/HCUDqg==  
Request 的范例 querySeqNo 非必要参数  
{
"
"
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
channelId": 1,  
timestamp": 1514272017,  
sessionToken": "ABCabc123",  
username": "test123",  
querySeqNo": "abcdef23rrewgfrewgewe",  
roundCode": "B2-123456789",  
signature":  
"
OCSQhi49wW1kqgqOvKUfrtmzzp+Z91H8VfKWbOpuAo+X3tFSrSnBJ+uq  
7
}
V0A7uETys0zyXYcASq6XiX/HCUDqg==",  
72  
返回目錄  
二、由渠道商返回 response  
Content-Type HeaderJson  
名称  
seqNo  
类型  
必须  
示范值  
fecf7a9d279df7eebfd6144cf 传回与请求相  
b26dc19  
同的 seqNo  
queryIncreaseCreditRecord 处理事件  
描述  
string  
event  
string  
long  
string  
int  
timestamp  
username  
status  
1511749800000  
test001  
时间戳  
用户名  
200  
返回状态代码  
可以参考原本  
API 文件的内容  
creditRecord creditR  
ecord[]  
increaseCredit 的处理信息  
(详见以下表格)  
creditRecord  
名称  
类型  
必须  
示范值  
描述  
querySeqNo  
string  
fecf7a9d279df7ee 查询的序列号  
bfd6144cfb26dc19  
金额事务编号  
type  
int  
点此查看  
username  
roundCode  
status  
string  
string  
int  
test001  
200  
用户名  
牌局号  
increaseCredit 的  
处理是否成功  
creditTime  
long  
贵方事务纪录处  
理成功时间  
事务前金额  
事务后金额  
事务金额  
moneyBefore decimal  
moneyAfter  
money  
10000  
9900  
100  
decimal  
decimal  
Ps: 如果返回空数组, 则代表该单查询不到  
73  
返回目錄  
Response 的范例 request 有带 querySeqNo 参数  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
creditRecord": [  
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe",  
type": 2,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 1000,  
moneyAfter": 900,  
money": 100,  
}
]
}
Response 的范例 request 没带 querySeqNo 参数  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
creditRecord": [{  
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe111",  
type": 1,  
username": "test123",  
roundCode": "B2-123456789",  
74  
返回目錄  
"
"
"
"
"
status": 200,  
creditTime": 1514271000,  
moneyBefore": 1000,  
moneyAfter": 900,  
money": -100,  
}
,
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe222",  
type": 1,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 900,  
moneyAfter": 700,  
money": -200,  
}
,
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe333",  
type": 2,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 700,  
moneyAfter": 1300,  
money": 600,  
}
]
}
75  
返回目錄  
7.4.9 refundSingleWallet  
可以针对玩家在同一局号中有投注失败的额度做退款的API  
API 适用环境:单钱包渠道  
API ProtocolWeb-socket  
渠道商服务器需提供 ws://abc123/refundSingleWallet  
abc123 皆为 domain name (由渠道提供)  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
yes  
fecf7a9d279df7eebf 序列号  
d6144cfb26dc19  
event  
string  
Int  
yes  
yes  
yes  
事件名称  
refundSingleWallet  
1
channelId  
timestamp  
渠道编号  
时间戳  
long  
1
514272017  
sessionToken  
username  
string  
string  
string  
yes  
yes  
yes  
ABCabc123  
test123  
sessionToken  
使用者名称  
牌局号(防止贵  
司没有写入  
seqNo 的情况)  
需要退款的金额  
清单  
roundCode  
B2-123456789  
refundList  
signature  
refundLis yes  
t[]  
详见以下范例  
string  
Rl/RxozzzvYRbxhp6 签名字段  
CQZrW8AnFz6Dbn  
RSA(username+t  
imestamp)  
Bb07Ktfau327mYk  
QdPRNxDT12PDA0  
CcZCowam4W/463  
P1AdeOqtoVYQ==  
转成 RSA:请  
参 考 范  
)  
76  
返回目錄  
refundList  
名称  
类型  
必须  
示范值  
描述  
refundSeqNo string  
yes  
fecf7a9d279 序列号  
df7eebfd614  
4
cfb100000  
test123  
使用者名称  
B2-1234567 牌局号  
username  
string  
string  
yes  
yes  
roundCode  
8
9
refundMoney decimal yes  
50  
查询事务金额  
Request 范例  
{
"
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "refundSingleWallet",  
channelId": 1,  
timestamp": 1514272017,  
sessionToken": "ABCabc123",  
username": "test123",  
roundCode": "B2-123456789",  
signature":  
"
OCSQhi49wW1kqgqOvKUfrtmzzp+Z91H8VfKWbOpuAo+X3tFSrSnBJ+uq7V0A7uETy  
s0zyXYcASq6XiX/HCUDqg==",  
"
refundList":[  
{
"
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100000",  
username": "test123",  
roundCode": "B2-123456789",  
refundMoney": -50,  
},  
{
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100001",  
username": "test123",  
roundCode": "B2-123456789",  
77  
返回目錄  
"
refundMoney": -150,  
},  
{
"
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100002",  
username": "test123",  
roundCode": "B2-123456789",  
refundMoney": -250,  
}
]
}
二、由渠道商返回 response  
Content-Type Headerjson  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
yes  
序列号(request  
seqNo)  
fecf7a9d279df7  
eebfd6144cfb  
2
6dc19  
event  
string  
yes  
事件名称  
refundSingleW  
allet  
timestamp  
status  
long  
int  
yes  
yes  
时间戳  
1
2
514272017  
00  
返回状态代码  
可以参考原本 API  
文件的内容  
username  
string  
yes  
yes  
使用者名称  
test123  
moneyBefore  
decimal  
事务前金额  
1
0000  
10450  
50  
moneyAfter  
yes  
yes  
事务后金额  
refundMoney  
decimal  
退款事务金额  
4
resultList  
resultList[] yes  
退款每一笔的处理  
结果  
78  
返回目錄  
resultList  
名称  
类型  
string  
必须  
yes  
示范值  
描述  
refundSeqNo  
status  
查询的序列号  
fecf7a9d279df7  
eebfd6144cfb10  
0
00  
int  
yes  
refund 的处理是否  
2
00  
成功  
2
00:处理成功 或是  
渠道商对这笔投注  
已经做过退款  
2
06:不存在的投注  
refundSeqNo 不存  
)  
(
Response 范例  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "refundSingleWallet",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
moneyBefore": 10000,  
"
moneyAfter": 10450,  
"
refundMoney": 450,  
"
resultList":[  
{
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100000",  
status": 200,  
},  
{
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100001",  
79  
返回目錄  
"
status": 200,  
}
,
,
{
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100002",  
status": 200,  
}
]
}
80  
返回目錄  
7.4.10 autoBatchRefund  
每隔 1小时时间, 固定搜集一次前一小时【投注低于设定金额】的投  
注失败退款, 并且送出给渠道做退款的批次处理 API.  
渠道商服务器需提供 ws://abc123/autoBatchRefund  
abc123 皆为 domain name (由渠道提供)  
[
说明]:  
1
. 每隔 1小时呼叫一次(每次搜集前一小时的投注失败资料)  
2
. 投注金额少于某金额(依照渠道设定有所区别)  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/json  
名称  
类型 必须  
示范值  
描述  
9
4
dc7d96fae13de2e58f3b06b4c  
序列号  
53649  
seqNo  
event  
string  
string  
yes  
yes  
yes  
autoBatchRefund  
事件名称  
FB55F48D6BB515895FCA9D1B  
sessionToken string  
sessionToken  
0
D6022B669C12C1D  
81  
返回目錄  
名称  
类型 必须  
示范值  
描述  
channelId  
int  
yes  
yes  
1
渠道 Id  
当 前 时 间  
Unix time)  
timestamp  
int  
1546926356677  
(
kO36MJxDf1mpOoBgYTY4tD3I  
ucPlHsPgAMR5mr50A+9ZDdqiJ  
iyZ2Or7kl2HqvtGQFvGfNgjJi4V  
签名字段  
signature  
string  
int  
yes  
yes  
RSA(channelI  
d+timestamp)  
9
rtXQ1RlaQ==  
lastStartProc  
essTime  
批次处理时间  
1546926111677  
10000  
(Unix time)  
refundThresh  
old  
number yes  
退款的阀值  
Rl/RxozzzvYRbxhp6CQZrW8A  
nFz6DbnBb07Ktfau327mYkQ  
dPRNxDT12PDA0CcZCowam4  
W/463P1AdeOqtoVYQ==  
batch  
Refun yes  
dList[]  
batchRefund  
List  
需 要 退 款 的  
清单  
只 有 多 货 币  
渠 道 需 要 添  
currency  
string  
no  
refundList  
名称  
类型 必须  
示范值  
描述  
9
5
dc7d96fae13de2e  
8f3b06b4c451111  
seqNo  
string  
yes  
需要退款的序列号  
username  
string  
string  
yes  
yes  
a001  
用户名称  
roundCode  
B2-190108134551  
牌局号  
需要退款金额(为玩家当  
时此次 seqNo 投注的总  
)  
refundMoney number yes  
1000  
Request 范例  
{
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c453649",  
82  
返回目錄  
"
"
"
"
"
event" : "autoBatchRefund",  
sessionToken" : "FB55F48D6BB515895FCA9D1B0D6022B669C12C1D",  
channelId" : 1,  
timestamp" : 1546926356677,  
signature" : "kO36MJxDf1mpOoBgYTY4tD3IucPlHsPgAMR5mr50A  
+9ZDdqiJiyZ2Or7kl2HqvtGQFvGfNgjJi4V9rtXQ1RlaQ ==",  
"
"
"
refundThreshold" : 10000,  
lastStartProcessTime" : 1546926356677,  
batchRefundList" : [{  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c451111",  
username" : "a001",  
roundCode" : "B2-190108134551",  
refundMoney" : 1000},  
{
{
{
{
{
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4532222",  
username" : "a001",  
roundCode" : "B2-190108134551",  
refundMoney" : 500},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4533333",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 600},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4544444",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 1200},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4544222",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 1000},  
83  
返回目錄  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4555555",  
username" : "a002",  
roundCode" : "B2-190108137777",  
refundMoney" : 1200},  
{
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4566666",  
username" : "a003",  
roundCode" : "S1-190108138888",  
refundMoney" : 1000}],  
"
currency" : "CNY",}  
二、由渠道商返回 response  
Content-Type Headerjson  
名称  
类型  
必须  
示范值  
描述  
9
8
dc7d96fae13de2e5  
f3b06b4c453649  
seqNo  
string  
yes  
传回与请求相同的 seqNo  
event  
string  
int  
yes  
yes  
autoBatchRefund  
1546926356677  
事件名称  
当前时间  
timestamp  
呼叫 autoBatchRefund 本身的  
处理状态  
status  
Int  
yes  
yes  
200  
退款处理的列表  
refundResu refundRes  
如果发生不可预期的错误  
请回传空阵列[]  
ltList  
ultList[]  
refundResultList  
名称  
类型  
string  
必须 示范值  
描述  
username  
yes  
yes  
a001  
B2  
用户名称  
牌局号  
roundCode string  
84  
返回目錄  
refundTotal  
Money  
请返回玩家该牌局有成功处理所  
投注退款  
number  
yes  
yes  
1500  
sucRefundS sucRefundS  
eqNoList eqNoList []  
处理成功的投注退款清单  
如果都处理失败, 请回传空阵列[]  
sucRefundSeqNoList  
名称  
类型 必须  
示范值  
描述  
处理退款失败的序列号  
状态码  
fecf7a9d279df7eeb  
fd6144cfb10000  
SeqNo string yes  
2
00:成功  
status  
int  
yes  
200  
209:已经退款  
其余状态码可以参考 API 文件状态  
码列表  
Response 范例  
{"seqNo" : "9dc7d96fae13de2e58f3b06b4c453649",  
"
"
"
"
event" : "autoBatchRefund",  
timestamp" : 1546926356677,  
status" : 200,  
refundResultList" : [{  
"
"
"
"
username" : "a001",  
roundCode" : "B2-190108134551",  
refundTotalMoney" : 1500,  
sucRefundSeqNoList" : [{  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c451111",  
status" : 200,},  
{
"seqNo" : "9dc7d96fae13de2e58f3b06b4c4532222",  
status" : 200,}]},  
"username" : "a002",  
"
{
"
"
"
roundCode" : "B2-190108134551",  
refundTotalMoney" : 600,  
sucRefundSeqNoList" : [{  
85  
返回目錄  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4533333",  
status" : 200,}]},  
{"username" : "a002",  
"
"
"
roundCode" : "B2-190108137777",  
refundTotalMoney" : 0,  
sucRefundSeqNoList" : []},  
{"username" : "a003",  
"
"
"
roundCode" : "S1-190108138888",  
refundTotalMoney" : 0,  
sucRefundSeqNoList" : [{  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4566666",  
status" : 206,}]}]}  
86  
返回目錄  
7.4.11 increaseCreditBatch  
每隔一段时间, 汇整时段内所有的 increaseCredit,用 json陣列发  
送给渠道做批次处理 API  
渠道商服务器需提供 ws://abc123/increaseCreditBatch  
abc123 皆为 domain name (由渠道提供)  
一、 游戏开发商向渠道商发出的 Request  
Post 请求 contentType : application/json array  
名称  
seqNo  
event  
类型 必  
示范值  
描述  
string fecf7a9d279df7eeb 序列号(唯一值)  
fd6144cfb26dc19  
string increaseCreditBatch 处理事件  
channelI int  
1  
渠道 ID  
d
timesta long  
mp  
usernam string test001  
1511749800000  
时间戳(精确到毫秒)  
用户名  
e
money  
deci  
mal  
10000.01  
玩家使用的额度,如果为  
负数代表玩家要扣金额  
sessionT string fecf7a9d279df7eeb registerOrLogin 事件  
oken fd6144cfb26dc56  
回传的 sessionToken  
signatur stringHPsFxp3Y8kWDV7o 签名(字符串拼接)  
e
3hSKoZ/YxRGeHqY RSA(seqNo + event +  
OMS+oEcO4FkLATf channelId + timestamp +  
9
4
EMjTwGulsvHEi02 username + money)  
6PXOiArFbJc2maz RSA作范例  
87  
返回目錄  
OUGFhS+oQ==  
1  
currency string USD  
type  
int  
详见表格  
详见表格  
详见表格  
见以下表格  
platform int  
1  
detail  
detail 是  
Request 的范例  
[
{
"
"
"
"
"
"
"
"
"
username": "test001",  
channelId": 1,  
money": -100,  
type": 1,  
platform": 3,  
currency": "USD",  
seqNo": "b27be34f9405e11297ce792c0afc00f9",  
sessionToken": "b176a9aca115f8f7683cdd488ad8a7f7",  
detail": {  
"
"
"
"
"
"
tableCode": "S3",  
tableType": 4,  
tableSubType": 0,  
roundCode": "S3-190401095615",  
betTime": 1554083780132,  
betList": [{  
"
"
betType": 102,  
betMoney": 100}],  
"
"
totalBet": 100,  
validBet": 0},  
"
"
"
event": "increaseCreditBatch",  
timestamp": 1554083780148,  
signature":  
"
CHi/7fbWNP9VbdAxcI9FMjhnE0KbX0TIBOg/DIZyskJVmkKgbm5YfmSDBT5RHpZMaF  
Ricshp4TJj9D8xRDa0Lg=="},  
{
"
username": "test001",  
88  
返回目錄  
"
"
"
"
"
"
"
"
channelId": 1,  
money": -100,  
type": 1,  
platform": 3,  
currency": "USD",  
seqNo": "a78be34f9405e04297ce792c0afc00f0",  
sessionToken": "aa22saaca115f8f7683cdd488ad8a7f7",  
detail": {  
"
"
"
"
"
"
tableCode": "S3",  
tableType": 4,  
tableSubType": 0,  
roundCode": "S3-190401095615",  
betTime": 1554083780132,  
betList": [{  
"
betType": 102,  
"betMoney": 100}],  
"
"
totalBet": 100,  
validBet": 0},  
"
"
"
event": “increaseCreditBatch”,  
timestamp": 1554083780999,  
signature":  
"
CHi/7fbWNP9VbdAxcI9FMjhnE0KbX0TIBOg/OOOyskJVmkKgbm5YfmSDBT5RHpZMa  
FRicshp4TJj9D8xRDa0Lg=="},  
{
"
"
"
"
"
"
"
"
"
username": "test001",  
channelId": 1,  
money": 400,  
type": 2,  
platform": 3,  
currency": "USD",  
seqNo": "81860ffdb27578489694026664a4e2fe",  
sessionToken": "b176a9aca115f8f7683cdd488ad8a7f7",  
detail": {  
"
tableCode": "S3",  
89  
返回目錄  
"
"
"
"
"
tableType": 4,  
tableSubType": 0,  
srcResults": [4, 5, 6],  
results": [131, 152, 153, 154, 137, 138, 139, 102, 100, 156],  
betList": [{  
"
"
"
"
betType": 102,  
betMoney": 200,  
seqNo": "b27be34f9405e11297ce792c0afc00f9",  
payout": 400}],  
"
"
"
"
"
"
roundCode": "S3-190401095615",  
betTime": 1554083780133,  
totalBet": 200,  
validBet": 200,  
payout": 400,  
payoutTime": 1554083791246},  
"
"
"
event": “increaseCreditBatch”,  
timestamp": 1554083791253,  
signature":  
"
YyYQU+TYIzMSn8enMtRdRne4ZtIJxvuaYT1IHTLOZT4uxx99YolLlIkOELLL0qzkbfevnKu  
qQTB1bEzYQbG5yA=="}]  
二、 由渠道商返回的 Response  
返回数据类型:json array  
名称  
seqNo  
类型  
必须  
示范值  
描述  
string  
fecf7a9d279df7eebf 传回与请求相同  
d6144cfb26dc19  
increaseCredit  
1511749800000  
seqNo  
处理事件  
event  
timestamp  
string  
long  
时间戳(精确到  
毫秒)  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
90  
返回目錄  
money  
decima  
l
10000.01  
9000.01  
经过增减后的金  
moneyBefor decima  
玩家原始的金额  
e
l
Response 的范例  
[
{
"
"
"
"
"
"
userName": "test001",  
money": 100,  
moneyBefore": 200,  
status": 200,  
event": "increaseCreditBatch",  
seqNo": "b27be34f9405e11297ce792c0afc00f9"},  
{
"
"
"
"
"
"
userName": "test001",  
money": 0,  
moneyBefore": 100,  
status": 200,  
event": “increaseCreditBatch”,  
seqNo": "a78be34f9405e04297ce792c0afc00f0"},  
{
"
"
"
"
"
"
userName": "test001",  
money": 400,  
moneyBefore": 0,  
status": 200,  
event": “increaseCreditBatch”,  
seqNo": "81860ffdb27578489694026664a4e2fe"}]  
91  
返回目錄  
7.5 REST 模式  
7.5.1 协议工作流程  
事件  
描述  
registerOrLogin  
syncCredit  
increaseCredit  
这是验证用户名,密码或 token 真实性  
向渠道 API 同步玩家资金账户  
联机通信后,如果玩家下注或派彩,像渠  
API 做出增减金额的请求  
queryIncreaseCreditRecod 借由 increaseCredit 事件的 seqNo 来确  
认 渠道是否有处理成功的信息  
refundSingleWallet  
autoBatchRefund  
increaseCreditBatch  
可以针对单一投注失败做退款的API  
定时检查需退款的项目且请求退款  
批次请求处理increaseCredit的事件  
92  
返回目錄  
7.5.2 工作流程图(workflow chart)  
93  
返回目錄  
7.5.3 registerOrLogin  
这是从游戏网页中玩家登入游戏,验证玩家身份的 API。  
主要有两种模式:普通登入token 登入。  
渠道商服务器需提供 http://abc123/registerOrLogin  
abc123 皆为 domain name (由渠道提供)  
【注意】:跟 web-socket 模式不同,sessionToken 是由这个  
API 渠道商要求产生,再 Response 传回游戏开发商。  
12 事件流程图  
94  
返回目錄  
一、 普通登入:游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/json  
名称  
seqNo  
类型 必须  
示范值  
描述  
string  
fecf7a9d279df7eebfd6 序列号  
1
44cfb26dc19  
event  
channelId  
timestamp long  
platform  
username  
password  
string  
int  
registerOrLogin  
1
1511749800000  
1
test001  
123456  
1
处理事件  
渠道 ID  
时间戳(精确到毫秒)  
int  
string  
string  
详见表格  
用户名  
用户密码  
eventType int  
1:使用玩家账号与密  
码登入  
4token 登入  
currency  
signature  
string  
CNY  
详见表格  
string  
Gtv7vGCuSs/6gbzGgsn 签名(字符串拼接)  
hDKEpzFGbUtpNdbx/sL RSA(seqNo + event +  
iAKFE5qtQY7lcXo1AyUc channelId + timestamp  
/dNsN2zYWWQqczPSz + username +  
6
6UWLoBdW7w==  
password)  
ip  
string  
192.168.0.1  
玩家 IP  
Request 的范例  
{
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "registerOrLogin",  
channelId": 1,  
timestamp": 1511749800000,  
platform": 1,  
username" : "test001",  
password" : "123456",  
95  
返回目錄  
Request 的范例  
"
"
"
"
eventType": 1,  
currency" : "CNY"  
signature":  
Gtv7vGCuSs/6gbzGgsnhDKEpzFGbUtpNdbx/sLiAKFE5qtQY7lcXo1AyUc/dNsN2zYWW  
QqczPSz66UWLoBdW7w==",  
"
}
ip" : "192.168.0.1"  
二、 普通登入:由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型 必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7eeb 传回与请求相同的  
fd6144cfb26dc19  
registerOrLogin  
1511749800000  
test001  
seqNo  
处理事件  
event  
timestamp long  
username  
nickname  
string  
时间戳(精确到毫秒)  
用户名  
string  
String 不是  
昵称  
如果不带入此参数,  
ebet server 默认为随  
status  
accessToke string  
n
int  
200  
fecf7a9d279df7eeb 渠道商自己定义用  
fd6144cfb26dc20  
详见 sw status  
来识别每笔事件的  
token  
sessionToke string  
n
fecf7a9d279df7eeb 用来识别使用者的  
fd6144cfb26dc21  
accessToken,当玩家每  
次登入的时候,由渠道  
产生一组新的  
accessToken  
96  
返回目錄  
名称  
类型 必须  
示范值  
描述  
accessToken 请使用大  
小写英文及数字,不要  
使用其他特殊字符  
游戏开发商知道使  
用者属于哪个子渠道  
详见表格  
subChannel int  
Id  
1001  
currency  
language  
string  
string  
USD  
us_en  
详见下列表格  
language  
语系  
描述  
zh_cn  
zh_tw  
zh_hk  
en_us  
ms_my  
vi_vn  
ko_kr  
ja_jp  
简体中文  
繁体中文  
粤语  
英文  
马来文  
越南语  
韩文  
日语  
in_id  
印度尼西亚文  
泰文  
th_th  
es_es  
my_mm  
pt_pt  
km_kh  
西班牙语  
缅甸语  
葡萄牙語  
高棉語  
Response 的范例  
{
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "registerOrLogin",  
timestamp": 1511749800000,  
username" : "test001",  
status": 200,  
97  
返回目錄  
Response 的范例  
"
"
"
"
"
}
accessToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc21",  
subChannelId" : 1001,  
currency" : "USD",  
language" : " us_en"  
三、 Token 登入:游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7ee 序列号  
bfd6144cfb26dc19  
event  
string  
int  
int  
registerOrLogin  
1
1
test001  
fecf7a9d279df7ee 由玩家上次登入游  
bfd6144cfb26dc56 戏所取得的  
accessToken  
处理事件  
渠道 ID  
channelId  
platform  
username  
详见表格  
string  
用户名  
accessToken string  
[
备注]:  
accessToken 需要和  
username 一起验  
,不能单纯只验  
accessToken  
时间戳(精确到毫  
秒)  
timestamp  
eventType  
long  
int  
1511749800000  
4
1:使用玩家账号与  
密码登入  
4token 登入  
signature  
string  
HPsFxp3Y8kWDV7 签名(字符串拼接)  
98  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
o3hSKoZ/YxRGeHq RSA(seqNo + event  
YOMS+oEcO4FkLA + channelId +  
Tf9EMjTwGulsvHEi timestamp +  
0
246PXOiArFbJc2 username +  
mazOUGFhS+oQ== accessToken)  
192.168.0.1  
玩家 IP  
ip  
string  
Request 的范例  
{
"
"
"
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "registerOrLogin",  
channelId": 1,  
platform": 1,  
username" : "test001",  
accessToken" : "fecf7a9d279df7eebfd6144cfb26dc56",  
timestamp": 1511749800000,  
eventType": 4,  
signature":  
HPsFxp3Y8kWDV7o3hSKoZ/YxRGeHqYOMS+oEcO4FkLATf9EMjTwGulsvHEi0246PXO  
iArFbJc2mazOUGFhS+oQ==",  
"
}
ip" : "192.168.0.1"  
四、 Token 登入:由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型 必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7eeb 传回与请求相同的  
fd6144cfb26dc19  
registerOrLogin  
seqNo  
处理事件  
event  
string  
99  
返回目錄  
名称  
类型 必须  
示范值  
1511749800000  
test001  
描述  
时间戳(精确到毫秒)  
用户名  
timestamp long  
username string  
nickname String 不是  
昵称  
如果不带入此参数,  
ebet server 默认为随  
status  
accessTok string  
en  
int  
200  
fecf7a9d279df7eeb 渠道商自己定义用  
fd6144cfb26dc20  
详见 sw status  
来识别每笔事件的  
token  
sessionTo string  
ken  
fecf7a9d279df7eeb 用来识别使用者的  
fd6144cfb26dc21  
accessToken,当玩家每  
次登入的时候,由渠道  
产生一组新的  
accessToken  
accessToken 请使用大  
小写英文及数字,不要  
使用其他特殊字符  
游戏开发商知道使  
用者属于哪个子渠道  
详见表格  
subChann int  
elId  
1001  
currency  
language  
string  
string  
USD  
en_us  
详见下列表格  
language  
语系  
描述  
zh_cn  
zh_tw  
zh_hk  
en_us  
ms_my  
vi_vn  
ko_kr  
简体中文  
繁体中文  
粤语  
英文  
马来文  
越南语  
韩文  
100  
返回目錄  
ja_jp  
日语  
in_id  
印度尼西亚文  
泰文  
th_th  
es_es  
my_mm  
pt_pt  
km_kh  
西班牙语  
缅甸语  
葡萄牙語  
高棉語  
Response 的范例  
{"seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
"
"
"
"
"
"
"
"
"
event": "registerOrLogin",  
timestamp": 1511749800000,  
username" : "test001",  
status" : 200,  
accessToken": "fecf7a9d279df7eebfd6144cfb26dc20",  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc21",  
subChannelId" : "1001",  
currency" : "USD",  
language" : "en_us "}  
参考例子  
101  
返回目錄  
7.5.4 syncCredit  
这是游戏开发商向渠道商同步玩家最新金额信息的 API。  
渠道商服务器需提供 http://abc123/syncCredit  
abc123 皆为 domain name (由渠道提供)  
13 事件流程图  
一、 游戏开发商向渠道商发出的 Request  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7eeb 序列号  
fd6144cfb26dc19  
event  
string  
syncCredit  
处理事件  
102  
返回目錄  
名称  
类型  
int  
必须  
示范值  
描述  
channelId  
timestamp  
1
渠道 ID  
long  
1511749800000  
时间戳(精确到毫  
秒)  
username  
string  
test001  
用户名  
sessionToke string  
n
fecf7a9d279df7eeb registerOrLogin  
fd6144cfb26dc56  
事 件 回 传 的  
sessionToken  
Request 的范例  
{
"
"
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "syncCredit",  
channelId": 1,  
timestamp": 1511749800000,  
username" : "test001",  
sessionToken": "fecf7a9d279df7eebfd6144cfb26dc56"  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7ee 传回与请求相同的  
bfd6144cfb26dc19 seqNo  
event  
timestamp long  
string  
syncCredit  
1511749800000  
处理事件  
时间戳(精确到毫  
秒)  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
103  
返回目錄  
若回传 410 游戏端玩  
家会被踢掉显示  
token 过期  
money  
decimal  
10000.01  
最新的玩家金额  
Response 的范例  
{
"
"
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": " syncCredit",  
timestamp": 1511749800000,  
username" : "test001",  
status" : 200,  
money" : 10000.01  
104  
返回目錄  
7.5.5 increaseCredit  
这是负责处理玩家增加或减少金额变动的 APIseqNo 必须是  
独一无二的(请勿使用相同的 seqNo,为了避免金额重复扣除的  
情况发生)。  
派彩時我方有做 retry機制,若先已處理成功,則之後的請  
求請忽視(這個機制只有派彩才有,投注沒有此機制)  
渠道商服务器需提供 http://abc123/increaseCredit  
abc123 皆为 domain name (由渠道提供)  
14 事件流程图  
105  
返回目錄  
一、 游戏开发商向渠道商发出的 Request  
Post 请求 contentType : application/json  
名称  
seqNo  
类型  
string  
必须  
示范值  
描述  
fecf7a9d279df7eebfd6144cfb26 序列号(唯一值)  
dc19  
event  
string  
int  
long  
string  
decimal  
increaseCredit  
1
1511749800000  
test001  
处理事件  
channelId  
timestamp  
username  
money  
渠道 ID  
时间戳(精确到毫秒)  
用户名  
10000.01  
玩家使用的额度,如果为负数代表玩家  
要扣金额  
sessionToken  
signature  
string  
string  
fecf7a9d279df7eebfd6144cfb26 registerOrLogin 事件回传的  
dc56 sessionToken  
HPsFxp3Y8kWDV7o3hSKoZ/YxR 签名(字符串拼接)  
GeHqYOMS+oEcO4FkLATf9EMjT RSA(seqNo + event + channelId +  
wGulsvHEi0246PXOiArFbJc2maz timestamp + username + money)  
OUGFhS+oQ==  
RSA 作范例  
106  
返回目錄  
type  
int  
string  
int  
1
USD  
1
详见表格  
详见表格  
详见表格  
见以下表格  
currency  
platform  
detail  
detail  
(一) detail  
名称  
类型  
必须  
示范值  
描述  
游戏桌号  
tableCode  
tableType  
string  
int  
B1  
1
代码 游戏类型  
1
2
3
4
百家乐  
龙虎  
轮盘  
骰宝  
107  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
5
6
7
8
老虎机  
试玩老虎机  
区块链百家乐  
牛牛  
tableSubType  
int  
0
代码 是否为竞咪桌  
1
2
non Mi Table  
Mi Table  
roundCode  
betTime  
betList  
string  
long  
B1-171204222000  
1511749800000  
游戏桌的牌局号  
玩家下注时间(精确到毫秒)  
下注明细列表(见下一个表格)  
荷官开牌结果  
BetList[]  
int?[]  
srcResults  
108  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
results  
int?[]  
[2,16,null,26,39,null]  
[60]  
牌局计算结果,为派彩的依据  
派彩总额  
payout  
decimal  
long  
payoutTime  
validBet  
totalBet  
200.00  
荷官派彩时间(精确到毫秒)  
有效投注  
decimal  
decimal  
1511749800000  
150.00  
投注总额  
紀錄是否為佣金百家樂  
只有百家樂才會有此字段  
brokerageRequ  
ired  
boolean  
true  
二) betList  
名称  
类型  
必须  
示范值  
描述  
betMoney  
betType  
decimal  
int  
100.01  
60  
下注金额  
下注的类型,详见下页表格  
109  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
payout  
decimal 看情况  
100.01  
派彩金额  
只有派彩的事件,才需要此字段  
seqNo  
string  
string  
看情况  
看情况  
fecf7a9d279df7eebfd6144cfb26dc1  
9
投注序列号  
只有派彩的事件,才需要此字段,  
用来区分多次下注的结果  
详细可以参考 Request 的范例  
number  
玩家在轮盘游戏下注的号码  
只有派彩的事件,以及玩家在轮  
游戏下注才会有此字段  
2】:在单钱包渠道,此参数在派彩请求中有下注失败(betMoney=0)的时候,让渠道做判断是否要自行退款。以下提  
供两种方法供渠道做选择。  
方法 1.渠道自行处理退款和派彩事宜:  
Step1.当一般流程派彩,发现 betList 参数中存在 betMoney=0(下注失败) 时,渠道可以 查询 “seqNo 是否有存在这  
笔投注。  
Step2.存在就先自行退款,不存在就不做任何处理。  
Step3.最后才返回派彩成功的讯息给 eBet Server。  
110  
返回目錄  
[
需要注意]:  
moneyBefore是处理退款完成的玩家当前金额,  
moneyAfter moneyBefore+派彩金额  
方法 2.渠道不处理退款和派彩事宜, 退款由我  
方主动发起:  
需要分为两种情况:  
三)渠道能接受已经派彩的局,仍然能做投  
注失败退款  
Step1.eBet后台主动发起 状态查询API  
向渠道送出请求,查询是否有需要做请求退款  
的下注注单。我方会以 seqNo作查询求,请渠  
道务必储存这一项纪录)。  
Step2.我们若有存在就像渠道发出退款请求;  
如果没有存在,则 ebet server会自行修正此  
投注记录。  
Step3.处理完下注失败的纪录后,才会进行派  
彩补发的动作。  
四)渠道能接受已经派彩的局,无法做投注  
111  
返回目錄  
失败退款,只有派彩未成功的局能做投注失败退款  
Step1.返回派彩失败的讯息(status=200)eBet Server。  
Step2.eBet后台主动发起 状态查询API向渠道送出请求,查询是否有需要做请求退款的下注注单。(我方会以 seqNo  
作查询求,请渠道务必储存这一项纪录)。  
Step3.我们若有存在就像渠道发出退款请求; 如果没有存在,则 ebet server会自行修正此投注记录。  
Step4.处理完下注失败的纪录后,才会进行派彩补发的动作。  
112  
返回目錄  
三) betType  
百家乐  
轮盘  
骰宝  
代码  
描述  
代码  
200  
201  
202  
203  
204  
205  
206  
207  
208  
209  
210  
211  
212  
213  
描述  
代码  
100  
101  
102  
103  
104  
105  
106  
107  
108  
描述  
代码  
描述  
6
0
6
8
0
8
6
1
1
0
1
2
3
2
3
直接注  
分注  
街注  
角注  
三数  
四个号码  
线注  
列注  
打注  
130 14 点  
6
6
8
8
8
8
6
7
7
8
8
6
6
闲对  
131 15 点  
132 16 点  
133 17 点  
庄对  
幸運六  
庄龙宝  
闲龙宝  
对子 1  
对子 2  
对子 3  
对子 4  
对子 5  
134 单点数  
135 单点数 2  
136 单点数 3  
137 单点数 4  
138 单点数 5  
139 单点数 6  
140 组合 1-2  
141 组合 1-3  
142 组合 1-4  
143 组合 1-5  
144 组合 1-6  
1
1
1
1
09  
10  
11  
12  
对子 6  
围骰 1  
围骰 2  
围骰 3  
庄单  
庄双  
闲单  
闲双  
1
1
13  
14  
围骰 4  
围骰 5  
2
14  
113  
返回目錄  
龙虎  
115  
围骰 6  
全围  
4 点  
145 组合 2-3  
146 组合 2-4  
147 组合 2-5  
148 组合 2-6  
149 组合 3-4  
150 组合 3-5  
151 组合 3-6  
152 组合 4-5  
153 组合 4-6  
154 组合 5-6  
155 二同号  
156 三不同  
牛牛  
1
1
16  
17  
代码 描述  
代码  
描述  
118  
119  
120  
121  
5 点  
1
1
6
0
1
8
6 点  
3
3
3
01  
02  
03  
1 平倍  
1 翻倍  
2 平倍  
7 点  
8 点  
1
1
1
25  
26  
27  
9 点  
10 点  
11 点  
12 点  
13 点  
3
3
3
04  
05  
06  
闲家 2 翻倍  
闲家 3 平倍  
闲家 3 翻倍  
128  
129  
范例链接  
Baccarat  
Tips Dealer  
/
Bet request  
/
Bet response  
Payout request Tie  
Payout request Win  
/
Payout response Tie  
Payout response Win  
/
Roulette bet requsest / Roulette bet requsest / Roulette payout requsest / Roulette payout requsest  
114  
返回目錄  
范例链接  
Sic-bo bet requsest / Sic-bo bet response / Sic-bo payout requsest / Sic-bo payout requsest  
niuniu withholding requsest / niuniu withholding requsest  
niuniu bet requsest / niuniu bet requsest  
niuniu withholding refund requsest / niuniu withholding refund requsest  
niuniu payout requsest / niuniu payout requsest / 牛牛派彩规则  
RefundwhenBetErr request / RefundwhenBetErr response  
No-commission Baccarat Payout request / Commission Baccarat Payout request  
115  
返回目錄  
二、 由渠道商返回的 Response  
返回数据类型:JSON  
名称  
seqNo  
类型  
必须  
示范值  
描述  
string  
fecf7a9d279df7eebf 传回与请求相同  
d6144cfb26dc19  
increaseCredit  
1511749800000  
seqNo  
处理事件  
时间戳(精确到  
毫秒)  
event  
timestamp  
string  
long  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
若回传 410 游戏端  
玩家会被踢掉显示  
token 过期  
money  
decima  
l
10000.01  
9000.01  
经过增减后的金  
moneyBefor decima  
玩家原始的金额  
e
l
Response 的范例  
{
"
"
"
"
"
"
"
}
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "increaseCredit",  
timestamp": 1511749800000,  
username" : "test001",  
status" : 200,  
money" : 10000.01,  
moneyBefore" 900.01  
116  
返回目錄  
7.5.6 queryIncreaseCreditRecord  
在我方补派彩之前, 可以藉由 increaseCredit 事件的 seqNo 来确  
认渠道是否有处理成功的信息  
API 适用环境:单钱包渠道  
API ProtocolRestful(http)  
渠道商服务器需提供 http://abc123/queryIncreaseCreditRecord  
abc123 皆为 domain name (由渠道提供)  
[
说明]:  
如果 request 有带 querySeqNo 这个参数, 则渠道返回的  
creditRecord 只需要回传对应的 querySeqNo.  
如果 request 没有带 querySeqNo 这个参数 querySeqNo , 则渠  
道返回的 creditRecord 则需要回传跟 username roundCode  
相关的数据都要捞出来.  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
fecf7a9d279df7ee 序列号  
bfd6144cfb26dc19  
event  
string  
queryIncreaseCred 处理事件  
itRecord  
channelId  
timestamp  
int  
long  
1
渠道编号  
时间戳  
1511749800000  
ABCabc123  
test001  
sessionToken string  
username string  
sessionToken  
用户名  
117  
返回目錄  
querySeqNo  
roundCode  
signature  
string  
string  
string  
不是 abcdef23rrewgfre 查询  
wgewe  
increaseCredit 的  
序列号  
B2-123456789  
牌局号(防止贵  
司没有写入  
seqNo 的情况)  
OCSQhi49wW1kqg 签名(字符串拼  
qOvKUfrtmzzp+Z91 ):  
H8VfKWbOpuAo+X username+times  
3
7
tFSrSnBJ+uq7V0A tamp  
uETys0zyXYcASq6  
XiX/HCUDqg==  
Request 的范例 querySeqNo 非必要参数  
{
"
"
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
channelId": 1,  
timestamp": 1514272017,  
sessionToken": "ABCabc123",  
username": "test123",  
querySeqNo": "abcdef23rrewgfrewgewe",  
roundCode": "B2-123456789",  
signature":  
"
OCSQhi49wW1kqgqOvKUfrtmzzp+Z91H8VfKWbOpuAo+X3tFSrSnBJ+uq  
7
}
V0A7uETys0zyXYcASq6XiX/HCUDqg==",  
118  
返回目錄  
二、由渠道商返回 response  
Content-Type Headerjson  
名称  
seqNo  
类型  
必须  
示范值  
fecf7a9d279df7eebf 传回与请求相同的  
d6144cfb26dc19 seqNo  
描述  
string  
event  
string  
queryIncreaseCredit 处理事件  
Record  
timestamp  
username  
status  
long  
string  
int  
1511749800000  
test001  
200  
时间戳  
用户名  
返回状态代码  
可以参考原本 API  
文件的内容  
creditRecord  
creditR  
ecord[]  
increaseCredit 的处理信息  
(详见以下表格)  
creditRecord  
名称  
类型  
必须  
示范值  
描述  
querySeqNo  
type  
string  
fecf7a9d279df7ee 查询的  
bfd6144cfb26dc19 序列号  
int  
金额事务编号  
点此查看  
username  
roundCode  
status  
string  
string  
int  
test001  
200  
用户名  
牌局号  
increaseCredit 的处  
理是否成功  
贵方事务纪录处理  
成功时间  
creditTime  
long  
moneyBefore decimal  
10000  
9900  
100  
事务前金额  
事务后金额  
事务金额  
moneyAfter  
money  
decimal  
decimal  
119  
返回目錄  
Ps: 如果返回空数组, 则代表该单查询不到  
Response 的范例 request 有带 querySeqNo 参数  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
creditRecord": [  
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe",  
type": 2,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 1000,  
moneyAfter": 1100,  
money": 100,  
}
]
}
Response 的范例 request 没带 querySeqNo 参数  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "queryIncreaseCreditRecord",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
creditRecord": [{  
"
"
querySeqNo": "abcdef23rrewgfrewgewe111",  
type": 1,  
120  
返回目錄  
"
"
"
"
"
"
"
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 1000,  
moneyAfter": 900,  
money": 100,  
}
,
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe222",  
type": 1,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 900,  
moneyAfter": 700,  
money": 200,  
}
,
{
"
"
"
"
"
"
"
"
"
querySeqNo": "abcdef23rrewgfrewgewe333",  
type": 2,  
username": "test123",  
roundCode": "B2-123456789",  
status": 200,  
creditTime": 1514271000,  
moneyBefore": 700,  
moneyAfter": 1300,  
money": 600,  
}
]
}
121  
返回目錄  
7.5.7 refundSingleWallet  
可以针对玩家在同一局号中有投注失败的额度做退款的API  
API 适用环境:单钱包渠道  
API ProtocolRestful(http)  
渠道商服务器需提供 http://abc123/refundSingleWallet  
abc123 皆为 domain name (由渠道提供)  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/json  
名称  
类型  
必须  
示范值  
描述  
seqNo  
string  
yes  
fecf7a9d279df7eebf 序列号  
d6144cfb26dc19  
event  
string  
Int  
yes  
yes  
yes  
事件名称  
refundSingleWallet  
1
channelId  
timestamp  
渠道编号  
时间戳  
long  
1
514272017  
sessionToken  
username  
string  
string  
string  
yes  
yes  
yes  
ABCabc123  
test123  
sessionToken  
使用者名称  
牌局号(防止贵  
司没有写入  
seqNo 的情况)  
需要退款的金额  
清单  
roundCode  
B2-123456789  
refundList  
signature  
refundLis yes  
t[]  
详见以下范例  
string  
Rl/RxozzzvYRbxhp6 签名字段  
CQZrW8AnFz6Dbn  
RSA(username+t  
imestamp)  
Bb07Ktfau327mYk  
QdPRNxDT12PDA0  
CcZCowam4W/463  
P1AdeOqtoVYQ==  
(转成 RSA:请  
参考作范例)  
122  
返回目錄  
refundList  
名称  
类型  
必须  
示范值  
描述  
refundSeqNo string  
yes  
fecf7a9d279 序列号  
df7eebfd614  
4
cfb100000  
test123  
使用者名称  
B2-1234567 牌局号  
username  
string  
string  
yes  
yes  
roundCode  
8
9
refundMoney decimal yes  
50  
查询事务金额  
Request 范例  
{
"
"
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "refundSingleWallet",  
channelId": 1,  
timestamp": 1514272017,  
sessionToken": "ABCabc123",  
username": "test123",  
roundCode": "B2-123456789",  
signature":  
"
OCSQhi49wW1kqgqOvKUfrtmzzp+Z91H8VfKWbOpuAo+X3tFSrSnBJ+uq7V0A7uETy  
s0zyXYcASq6XiX/HCUDqg==",  
"
refundList":[  
{
"
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100000",  
username": "test123",  
roundCode": "B2-123456789",  
refundMoney": -50,  
},  
{
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100001",  
username": "test123",  
roundCode": "B2-123456789",  
123  
返回目錄  
"
refundMoney": -150,  
},  
{
"
"
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100002",  
username": "test123",  
roundCode": "B2-123456789",  
refundMoney": -250,  
}
]
}
二、由渠道商返回 response  
Content-Type Headerjson  
名称  
类型  
必须 示范值  
描述  
seqNo  
string  
yes  
序列号(request 的  
seqNo)  
fecf7a9d279df7eeb  
fd6144cfb 26dc19  
event  
string  
long  
int  
yes  
yes  
yes  
事件名称  
时间戳  
refundSingleWallet  
timestamp  
status  
1
2
514272017  
00  
返回状态代码  
可以参考原本 API 文件  
的内容  
username  
string  
yes  
yes  
使用者名称  
test123  
moneyBefore  
moneyAfter  
decimal  
事务前金额  
1
0000  
10450  
50  
yes  
yes  
事务后金额  
refundMoney decimal  
退款事务金额  
4
resultList  
resultList[] yes  
退款每一笔的处理结果  
resultList  
124  
返回目錄  
名称  
类型  
必须  
yes  
示范值  
描述  
查询的序列号  
refundSeqNo string  
fecf7a9d279df7ee  
bfd6144cfb10000  
status  
int  
yes  
refund 的处理是否成功  
00:处理成功 或是 渠道商  
对这笔投注已经做过退款  
06:不存在的投注  
refundSeqNo 不存在)  
2
00  
2
2
(
Response 范例  
{
"
"
"
"
"
"
seqNo": "fecf7a9d279df7eebfd6144cfb26dc19",  
event": "refundSingleWallet",  
username": "test123",  
status": 200,  
timestamp": 1514272017,  
moneyBefore": 10000,  
"
moneyAfter": 10450,  
"refundMoney": 450,  
"
resultList":[  
{
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100000",  
status": 200,  
}
,
,
,
{
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100001",  
status": 200,  
}
{
"
"
refundSeqNo": "fecf7a9d279df7eebfd6144cfb100002",  
status": 200,  
}
]
}
125  
返回目錄  
7.5.8 autoBatchRefund  
每隔 1小時時間, 固定蒐集一次前一小時【投注低於設定金額】的投  
注失敗退款, 並且送出給渠道做退款的批次處理 API.  
渠道商服务器需提供 http://abc123/autoBatchRefund  
abc123 皆为 domain name (由渠道提供)  
[
说明]:  
3
. 每隔 1小时呼叫一次(每次搜集前一小时的投注失败资料)  
4
. 投注金额少于某金额(依照渠道设定有所区别)  
一、由 ebet game server 发出 request 给渠道商  
Content-Type Headerapplication/json  
名称  
类型 必须  
示范值  
dc7d96fae13de2e58f3b06b4c4  
序列号  
3649  
描述  
9
5
seqNo  
event  
string  
string  
string  
yes  
yes  
yes  
autoBatchRefund  
事件名称  
sessionTo  
ken  
FB55F48D6BB515895FCA9D1B0  
D6022B669C12C1D  
sessionToken  
126  
返回目錄  
名称  
类型 必须  
示范值  
描述  
channelId int  
yes  
1
渠道 Id  
当前时间(Unix  
timestamp int  
yes  
1546926356677  
time)  
kO36MJxDf1mpOoBgYTY4tD3Iu  
cPlHsPgAMR5mr50A+9ZDdqiJiyZ  
签名字段  
signature string  
yes  
yes  
RSA(channelId  
2
Or7kl2HqvtGQFvGfNgjJi4V9rtX  
+
timestamp)  
Q1RlaQ==  
lastStartPr  
int  
批 次 处理 时 间  
1546926111677  
ocessTime  
(Unix time)  
refundThr  
number yes  
10000  
退款的阀值  
eshold  
Rl/RxozzzvYRbxhp6CQZrW8AnF  
z6DbnBb07Ktfau327mYkQdPR  
NxDT12PDA0CcZCowam4W/46  
batch  
Refun  
dList[]  
batchRefu  
ndList  
需要退款的清  
yes  
3
P1AdeOqtoVYQ==  
只有多货币渠  
道需要添加  
currency  
string  
no  
refundList  
类型  
名称  
必须 示范值  
描述  
9
5
dc7d96fae13de2e  
8f3b06b4c451111  
seqNo  
string  
yes  
需要退款的序列号  
username  
string  
string  
yes  
yes  
a001  
用户名称  
roundCode  
B2-190108134551  
牌局号  
需要退款金额(为玩家当  
时此次 seqNo 投注的总  
)  
refundMoney number yes  
1000  
Request 范例  
{
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c453649",  
event" : "autoBatchRefund",  
127  
返回目錄  
"
"
"
"
sessionToken" : "FB55F48D6BB515895FCA9D1B0D6022B669C12C1D",  
channelId" : 1,  
timestamp" : 1546926356677,  
signature" : "kO36MJxDf1mpOoBgYTY4tD3IucPlHsPgAMR5mr50A  
+9ZDdqiJiyZ2Or7kl2HqvtGQFvGfNgjJi4V9rtXQ1RlaQ ==",  
"
"
"
refundThreshold" : 10000,  
lastStartProcessTime" : 1546926356677,  
batchRefundList" : [{  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c451111",  
username" : "a001",  
roundCode" : "B2-190108134551",  
refundMoney" : 1000},  
{
{
{
{
{
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4532222",  
username" : "a001",  
roundCode" : "B2-190108134551",  
refundMoney" : 500},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4533333",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 600},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4544444",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 1200},  
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4544222",  
username" : "a002",  
roundCode" : "B2-190108134551",  
refundMoney" : 1000},  
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4555555",  
128  
返回目錄  
"
"
"
username" : "a002",  
roundCode" : "B2-190108137777",  
refundMoney" : 1200},  
{
"
"
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4566666",  
username" : "a003",  
roundCode" : "S1-190108138888",  
refundMoney" : 1000}],  
"
currency" : "CNY",}  
二、由渠道商返回 response  
Content-Type Headerjson  
名称  
类型  
必须 示范值 描述  
9
8
dc7d96fae13de2e5  
传回与请求相同的 seqNo  
f3b06b4c453649  
seqNo  
string  
yes  
event  
string  
int  
yes  
yes  
autoBatchRefund  
1546926356677  
事件名称  
当前时间  
timestamp  
呼叫 autoBatchRefund 本身的  
处理状态  
status  
Int  
yes  
yes  
200  
退款处理的列表  
refundResu refundRes  
如果发生不可预期的错误  
请回传空阵列[]  
ltList  
ultList[]  
refundResultList  
名称  
类型  
string  
必须 示范值  
描述  
username  
yes  
yes  
a001  
B2  
用户名称  
roundCode string  
refundTotal  
牌局号  
请返回玩家该牌局有成功处理所  
投注退款  
number  
yes  
1500  
Money  
129  
返回目錄  
sucRefundS sucRefundS  
eqNoList eqNoList []  
处理成功的投注退款清单  
yes  
如果都处理失败, 请回传空阵列[]  
sucRefundSeqNoList  
名称  
类型 必须  
示范值  
描述  
处理退款失败的序列号  
状态码  
fecf7a9d279df7eeb  
fd6144cfb10000  
SeqNo string yes  
2
00:成功  
status  
int  
yes  
200  
209:已经退款  
其余状态码可以参考 API 文件状态  
码列表  
Response 范例  
{"seqNo" : "9dc7d96fae13de2e58f3b06b4c453649",  
"
"
"
"
event" : "autoBatchRefund",  
timestamp" : 1546926356677,  
status" : 200,  
refundResultList" : [{  
"
"
"
"
username" : "a001",  
roundCode" : "B2-190108134551",  
refundTotalMoney" : 1500,  
sucRefundSeqNoList" : [{  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c451111",  
status" : 200,},  
{
"seqNo" : "9dc7d96fae13de2e58f3b06b4c4532222",  
status" : 200,}]},  
"username" : "a002",  
"
{
"
"
"
roundCode" : "B2-190108134551",  
refundTotalMoney" : 600,  
sucRefundSeqNoList" : [{  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4533333",  
status" : 200,}]},  
130  
返回目錄  
{"username" : "a002",  
"
"
"
roundCode" : "B2-190108137777",  
refundTotalMoney" : 0,  
sucRefundSeqNoList" : []},  
{"username" : "a003",  
"
"
"
roundCode" : "S1-190108138888",  
refundTotalMoney" : 0,  
sucRefundSeqNoList" : [{  
"
"
seqNo" : "9dc7d96fae13de2e58f3b06b4c4566666",  
status" : 206,}]}]}  
131  
返回目錄  
7.5.9 increaseCreditBatch  
每隔一段时间, 汇整时段内所有的 increaseCredit,用 json陣列发  
送给渠道做批次处理 API.  
渠道商服务器需提供 http://abc123/increaseCreditBatch  
abc123 皆为 domain name (由渠道提供)  
三、 游戏开发商向渠道商发出的 Request  
Post 请求 contentType : application/json array  
名称  
seqNo  
event  
类型 必  
示范值  
描述  
string fecf7a9d279df7eeb 序列号(唯一值)  
fd6144cfb26dc19  
string increaseCreditBatch 处理事件  
channelI int  
1  
渠道 ID  
d
timesta long  
mp  
usernam string test001  
1511749800000  
时间戳(精确到毫秒)  
用户名  
e
money  
deci  
mal  
10000.01  
玩家使用的额度,如果为  
负数代表玩家要扣金额  
sessionT string fecf7a9d279df7eeb registerOrLogin 事件  
oken fd6144cfb26dc56  
回传的 sessionToken  
signatur stringHPsFxp3Y8kWDV7o 签名(字符串拼接)  
e
3hSKoZ/YxRGeHqY RSA(seqNo + event +  
OMS+oEcO4FkLATf channelId + timestamp +  
9
4
EMjTwGulsvHEi02 username + money)  
6PXOiArFbJc2maz RSA作范例  
132  
返回目錄  
OUGFhS+oQ==  
1  
currency string USD  
type  
int  
详见表格  
详见表格  
详见表格  
见以下表格  
platform int  
1  
detail  
detail 是  
Request 的范例  
[
{
"
"
"
"
"
"
"
"
"
username": "test001",  
channelId": 1,  
money": -100,  
type": 1,  
platform": 3,  
currency": "USD",  
seqNo": "b27be34f9405e11297ce792c0afc00f9",  
sessionToken": "b176a9aca115f8f7683cdd488ad8a7f7",  
detail": {  
"
"
"
"
"
"
tableCode": "S3",  
tableType": 4,  
tableSubType": 0,  
roundCode": "S3-190401095615",  
betTime": 1554083780132,  
betList": [{  
"
"
betType": 102,  
betMoney": 100}],  
"
"
totalBet": 100,  
validBet": 0},  
"event": "increaseCreditBatch",  
"timestamp": 1554083780148,  
"signature":  
"
CHi/7fbWNP9VbdAxcI9FMjhnE0KbX0TIBOg/DIZyskJVmkKgbm5YfmSDBT5RHpZMaF  
Ricshp4TJj9D8xRDa0Lg=="},  
{
"
username": "test001",  
133  
返回目錄  
"
"
"
"
"
"
"
"
channelId": 1,  
money": -100,  
type": 1,  
platform": 3,  
currency": "USD",  
seqNo": "a78be34f9405e04297ce792c0afc00f0",  
sessionToken": "aa22saaca115f8f7683cdd488ad8a7f7",  
detail": {  
"
"
"
"
"
"
tableCode": "S3",  
tableType": 4,  
tableSubType": 0,  
roundCode": "S3-190401095615",  
betTime": 1554083780132,  
betList": [{  
"
"
betType": 102,  
betMoney": 100}],  
"
totalBet": 100,  
validBet": 0},  
"
"
"
"
event": “increaseCreditBatch”,  
timestamp": 1554083780999,  
signature":  
"
CHi/7fbWNP9VbdAxcI9FMjhnE0KbX0TIBOg/OOOyskJVmkKgbm5YfmSDBT5RHpZMa  
FRicshp4TJj9D8xRDa0Lg=="},  
{
"
"
"
"
"
"
"
"
"
username": "test001",  
channelId": 1,  
money": 400,  
type": 2,  
platform": 3,  
currency": "USD",  
seqNo": "81860ffdb27578489694026664a4e2fe",  
sessionToken": "b176a9aca115f8f7683cdd488ad8a7f7",  
detail": {  
"
tableCode": "S3",  
134  
返回目錄  
"
"
"
"
"
tableType": 4,  
tableSubType": 0,  
srcResults": [4, 5, 6],  
results": [131, 152, 153, 154, 137, 138, 139, 102, 100, 156],  
betList": [{  
"
"
"
"
betType": 102,  
betMoney": 200,  
seqNo": "b27be34f9405e11297ce792c0afc00f9",  
payout": 400}],  
"
"
"
"
"
"
roundCode": "S3-190401095615",  
betTime": 1554083780133,  
totalBet": 200,  
validBet": 200,  
payout": 400,  
payoutTime": 1554083791246},  
"
"
"
event": “increaseCreditBatch”,  
timestamp": 1554083791253,  
signature":  
"
YyYQU+TYIzMSn8enMtRdRne4ZtIJxvuaYT1IHTLOZT4uxx99YolLlIkOELLL0qzkbfevnKu  
qQTB1bEzYQbG5yA=="}]  
四、 由渠道商返回的 Response  
返回数据类型:json array  
名称  
seqNo  
类型  
必须  
示范值  
fecf7a9d279df7eebf 传回与请求相  
d6144cfb26dc19  
同的 seqNo  
increaseCreditBatch 处理事件  
描述  
string  
event  
timestamp  
string  
long  
1511749800000  
时间戳(精确到  
毫秒)  
username  
status  
string  
int  
test001  
200  
用户名  
详见 sw status  
135  
返回目錄  
money  
decima  
l
10000.01  
9000.01  
经过增减后的  
金额  
moneyBefor decima  
e
玩家原始的金  
l
Response 的范例  
[
{
"
"
"
"
"
"
userName": "test001",  
money": 100,  
moneyBefore": 200,  
status": 200,  
event": “increaseCreditBatch”,  
seqNo": "b27be34f9405e11297ce792c0afc00f9"},  
{
"
"
"
"
"
"
userName": "test001",  
money": 0,  
moneyBefore": 100,  
status": 200,  
event": “increaseCreditBatch”,  
seqNo": "a78be34f9405e04297ce792c0afc00f0"},  
{
"
"
"
"
"
"
userName": "test001",  
money": 400,  
moneyBefore": 0,  
status": 200,  
event": “increaseCreditBatch”,  
seqNo": "81860ffdb27578489694026664a4e2fe"}]  
136  
返回目錄  
7.6 Access Token  
情境 1  
using this token in login Link  
情境 2  
Recharge windows verify player identity.  
Exam :  
137  
返回目錄  
情境 3  
APP gesture pattern Login or finger print login  
138  
返回目錄  
7.7 DataModel  
Baccarat --Tips Dealer  
{
"username": "test",  
"
"
"
"
"
"
"
"
"
"
"
"
"
channelId": 3,  
money": -100,  
type": 3,  
platform": 3,  
currency": "CNY",  
seqNo": "bbe278f36470226f9bda1b46b9774404", "detail": {  
tableCode": "BMI1",  
tableType": 1, "tableSubType": 1,  
roundCode": "BMI1-180821093441" },  
event": "increaseCredit",  
timestamp": 1534818270133,  
sessionToken": "efab563b39c10cf176f9ff1b9cc38c97",  
signature": "xxxx" }  
Baccarat--- Bet request  
{
"username": "test",  
"
channelId": 3,  
money": -200,  
type": 1,  
"
"
"
"
platform": 3,  
currency": "CNY",  
"seqNo": "ead44da3985109624d16a5c7d8240ad2",  
"detail": {  
"tableCode": "B4",  
"tableType": 1,  
"
"
"
"
tableSubType": 0,  
roundCode": "B4-180821095309",  
betTime": 1534816397636,  
betList": [ {  
139  
返回目錄  
Baccarat--- Bet request  
"betType": 68,  
"betMoney": 200 } ],  
"totalBet": 200,  
"validBet": 0 },  
"event": "increaseCredit",  
"timestamp": 1534816397639,  
"sessionToken": "c00628f0e631abc2b310be4be14574bc",  
"signature": xxxxx}  
Baccarat--- Bet response  
{
"userName": test”,  
"money": 1000.01,  
"
"
"
"
moneyBefore": 800.01,  
status": 200,  
event": "increaseCredit",  
seqNo": "ead44da3985109624d16a5c7d8240ad2" }  
Baccarat---Payout request - Tie  
{
"username": "benji_01",  
channelId": 3,  
"
"money": 400,  
"
"
"
"
"
"
"
"
"
"
"
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "7077df376b5d5b0cbff92ebaf44d07af",  
detail": {  
tableCode":  
B4", "tableType": 1,  
tableSubType": 0,  
srcResults": [ 51, 51, 51, 51, 51, 51 ],  
results": [ 68, 66, 88 ],  
betList": [ {  
140  
返回目錄  
Baccarat---Payout request - Tie  
"
"
"
"
"
"
"
"
"
betType": 80,  
betMoney": 400,  
seqNo": "db956be489c599b9338122ac6b878f63",  
payout": 400 } ],  
roundCode": "B4-180821104229",  
betTime": 1534819356374,  
totalBet": 400,  
validBet": 0,  
payout": 400,  
"
payoutTime": 1534819406051 },  
event": "increaseCredit",  
timestamp": 1534819406054,  
"
"
"sessionToken": "efab563b39c10cf176f9ff1b9cc38c97",  
"signature": xxxxx}  
Baccarat--- Payout response  
{
"userName": "test",  
"
"
"
"
"
money": 100021100,  
moneyBefore": 100020700,  
status": 200,  
event": "increaseCredit",  
seqNo": "7077df376b5d5b0cbff92ebaf44d07af" }  
BaccaratPayout request - WIN  
{
"username": "benji_01",  
"channelId": 3,  
"
"
"
"
"
"
money": 1200,  
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "2021f9763653805011e3d05d590dba0d",  
detail": { "  
141  
返回目錄  
BaccaratPayout request - WIN  
tableCode": "B4",  
"
"
"
tableType": 1,  
tableSubType": 0,  
srcResults": [ 51, 51, null, 44, 51, null ],  
"results": [ 80, 66 ],  
"
"
"
"
"
"
"
betList": [ {  
betType": 80,  
betMoney": 600,  
seqNo": "c1eef02a8b56bf479cc43978fcffc76c",  
payout": 1200 } ],  
roundCode": "B4-180821104643",  
betTime": 1534819614395,  
"totalBet": 600,  
"
"
"
"
"
"
"
validBet": 600,  
payout": 1200,  
payoutTime": 1534819630627 },  
event": "increaseCredit",  
timestamp": 1534819630630,  
sessionToken": "efab563b39c10cf176f9ff1b9cc38c97",  
signature": "xxxxxxxx" }  
Baccarat--- Payout response  
{
"userName": "benji_01",  
money": 1700,  
"
"
"
"
"
moneyBefore": 500,  
status": 200,  
event": "increaseCredit",  
seqNo": "2021f9763653805011e3d05d590dba0d" }  
Roulette --- bet request  
{"username": "oc97572",  
"channelId": 3,  
142  
返回目錄  
Roulette --- bet request  
"
"
"
"
"
"
"
money": -420,  
type": 1,  
platform": 3,  
currency": "CNY",  
seqNo": "e7e5701bcd96679385cbedc16282a4ee",  
isRepayout": null,  
detail": {  
"
"
"
"
"
"
tableCode": "R2",  
tableType": 3,  
tableSubType": 0,  
roundCode": "R2-190102175731",  
betTime": 1546423062933,  
betList": [  
{"betType": 200, "betMoney": 200},  
{"betType": 207, "betMoney": 200},  
{"betType": 207, "betMoney": 20}],  
"
totalBet": 420,  
validBet": 0},  
"
"
"
"
"
event": "increaseCredit",  
timestamp": 1546423062939,  
sessionToken": "c3bb18f81a330fc68e75a6f4ebe5bf87",  
signature":  
"ColyYVfgSuCB6NxTWEN2k+OvGbwwZ2okgoKi6bNXeIJd5ZQewsa59V3uKh3puzlDX  
4
RtL000RGFl5Api7vC9OA=="}  
Roulette --- bet response  
{"userName": "oc97572",  
"
"
"
"
"
money": 940,  
moneyBefore": 1360,  
status": 200,  
event": "increaseCredit",  
seqNo": "e7e5701bcd96679385cbedc16282a4ee"}  
143  
返回目錄  
Roulette --- Payout request  
{"username": "oc97572",  
"
"
"
"
"
"
"
"
channelId": 3,  
money": 60,  
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "12137598e3a3e218fd8a276fc4788727",  
isRepayout": null,  
detail": {  
"tableCode": "R2",  
"tableType": 3,  
"tableSubType": 0,  
"srcResults": [5],  
"results":  
[200,214,211,209,202,207,206,206,203,203,203,203,208,201,201,201,201],  
"betList": [{  
"
"
"
"
"
betType": 200,  
betMoney": 200,  
seqNo": "e7e5701bcd96679385cbedc16282a4ee",  
payout": 0,  
number": "36"},  
{"betType": 207,  
"
"
"
"
betMoney": 200,  
seqNo": "e7e5701bcd96679385cbedc16282a4ee",  
payout": 0,  
number": "1,4,7,10,13,16,19,22,25,28,31,34"},  
{"betType": 207,  
"
"
"
"
betMoney": 20,  
seqNo": "e7e5701bcd96679385cbedc16282a4ee",  
payout": 60,  
number": "2,5,8,11,14,17,20,23,26,29,32,35"}],  
"
roundCode": "R2-190102175731",  
betTime": 1546423062934,  
"
144  
返回目錄  
Roulette --- Payout request  
"
"
"
"
totalBet": 420,  
validBet": 420,  
payout": 60,  
payoutTime": 1546423070409},  
"
"
"
"
event": "increaseCredit",  
timestamp": 1546423070412,  
sessionToken": "c3bb18f81a330fc68e75a6f4ebe5bf87",  
signature":  
"KJ0nB/RQsdedDPvE2SHkj56Q+XR1rIzEW95IgCNptoeZZ3rL2Itk+Bc6susgbeT27kXIEg  
YwpdaNLMaGW8AtBg=="}  
Roulette --- Payout response  
{"userName": "oc97572",  
"
"
"
"
"
money": 1000,  
moneyBefore": 940,  
status": 200,  
event": "increaseCredit",  
seqNo": "12137598e3a3e218fd8a276fc4788727"}  
Sicbo --- bet request  
{"username": "oc97572",  
"
"
"
"
"
"
"
"
channelId": 3,  
money": -1500,  
type": 1,  
platform": 3,  
currency": "CNY",  
seqNo": "c961b0e44f7bab2e33843ffc6fdc8ddd",  
isRepayout": null,  
detail": {  
"
"
"
tableCode": "S2",  
tableType": 4,  
tableSubType": 0,  
145  
返回目錄  
Sicbo --- bet request  
"
"
"
roundCode": "S2-190102180354",  
betTime": 1546423447290,  
betList": [  
{"betType": 143, "betMoney": 500},  
{"betType": 153, "betMoney": 500},  
{"betType": 155, "betMoney": 500}],  
"
totalBet": 1500,  
validBet": 0},  
"
"
"
"
"
event": "increaseCredit",  
timestamp": 1546423447296,  
sessionToken": "c3bb18f81a330fc68e75a6f4ebe5bf87",  
signature":  
"oRBDdBGfO3IHGgU/fjyyrD8fdifrXrRBFKiK/EEOHifznSLDlLfBIMtVzSQTsyWP2wKq1  
afMnehUlXE009cMCQ=="}  
Sicbo --- bet response  
{"userName": "oc97572",  
"
"
"
"
"
money": 1000,  
moneyBefore": 2500,  
status": 200,  
event": "increaseCredit",  
seqNo": "c961b0e44f7bab2e33843ffc6fdc8ddd"}  
Sicbo --- Payout request  
{"username": "oc97572",  
"
"
"
"
"
"
"
channelId": 3,  
money": 0,  
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "d08bceade46ecbcc92ffc25c40c18105",  
isRepayout": null,  
146  
返回目錄  
Sicbo --- Payout request  
"detail": {  
"
"
"
"
"
"
tableCode": "S2",  
tableType": 4,  
tableSubType": 0,  
srcResults": [6, 6, 6],  
results": [139, 155, 109, 116, 115],  
betList": [{  
"
"
"
"
betType": 143,  
betMoney": 500,  
seqNo": "c961b0e44f7bab2e33843ffc6fdc8ddd",  
payout": 0},  
{"betType": 153,  
"
"
"
betMoney": 500,  
seqNo": "c961b0e44f7bab2e33843ffc6fdc8ddd",  
payout": 0},  
{"betType": 155,  
"
"
"
"
betMoney": 500,  
seqNo": "c961b0e44f7bab2e33843ffc6fdc8ddd",  
payout": 0,  
number": "1,2,2"}],  
"
"
"
"
"
"
roundCode": "S2-190102180354",  
betTime": 1546423447291,  
totalBet": 1500,  
validBet": 1500,  
payout": 0,  
payoutTime": 1546423455906},  
"
"
"
"
event": "increaseCredit",  
timestamp": 1546423455911,  
sessionToken": "c3bb18f81a330fc68e75a6f4ebe5bf87",  
signature":  
"nXGHvDIGex3ukWtKGPIr3oXS963IzXEMlMjzkllKnouG6xpUyQV02q8NkYLfpozz+m8  
gzSNN0SHQRky0ekf9wA=="}  
147  
返回目錄  
Sicbo --- Payout response  
{"userName": "oc97572",  
"
"
"
"
"
money": 1000,  
moneyBefore": 1000,  
status": 200,  
event": "increaseCredit",  
seqNo": "d08bceade46ecbcc92ffc25c40c18105"}  
betmoney = 0 --- Payout request  
{"username": "benji_01",  
"
"
"
"
"
"
"
channelId": 3,  
money": 0,  
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "7077df376b5d5b0cbff92ebaf44d07af",  
detail": {  
"
"
"
"
"
"
tableCode": "B4",  
tableType": 1,  
tableSubType": 0,  
srcResults": [51, 51, 51, 51, 51, 51],  
results": [68, 66, 88],  
betList": [{  
"
"
"
"
betType": 80,  
betMoney": 0,  
seqNo": "db956be489c599b9338122ac6b878f63",  
payout": 0}],  
"
"
"
"
"
"
roundCode": "B4-180821104229",  
betTime": 1534819356374,  
totalBet": 0,  
validBet": 0,  
payout": 0,  
payoutTime": 1534819406051},  
"event": "increaseCredit",  
148  
返回目錄  
betmoney = 0 --- Payout request  
"
"
"
timestamp": 1534819406054,  
sessionToken": "efab563b39c10cf176f9ff1b9cc38c97",  
signature": "xxxxx"}  
niuniu --- Withholding request  
{
"username": "test01",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": -375,  
type": 27,  
platform": 3,  
currency": "CNY",  
seqNo": "a00c7f18adb6dfa44d02d61dc3b2b2e3",  
sessionToken": "25AAC8A764B64DDE8A209AE31D2F8DC7",  
detail": {  
"
"
"
"
"
"
tableCode": "NN1",  
tableType": 8,  
tableSubType": 0,  
roundCode": "NN1-190320031912",  
betTime": 1553023174907,  
betList": [  
{
"betType": 302,  
"betMoney": 100  
}
],  
"
totalBet": 100,  
validBet": 0  
"
},  
"event": "increaseCredit",  
"timestamp": 1553023174937,  
"signature":  
"mTqiteDCx491rBx+zbl6bknZYPcSiNGvKAZHTyD28XhvQ4EXDMp0QVy9OMyv1j6Ck  
SCt7gJtYVOfdnS6nnf+kQ=="}  
149  
返回目錄  
niuniu --- Withholding response  
{
"seqNo": "a00c7f18adb6dfa44d02d61dc3b2b2e3",  
"
"
"
"
"
"
event": "increaseCredit",  
timestamp": 1553023175036,  
username": "test01",  
status": 200,  
money": 625,  
moneyBefore": 1000}  
niuniu ---Bet request  
{
"username": "test01",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": -100,  
type": 1,  
platform": 3,  
currency": "CNY",  
seqNo": "678cb5e8fcf0083d4d47d101ad765e59",  
sessionToken": "25AAC8A764B64DDE8A209AE31D2F8DC7",  
detail": {  
"
"
"
"
"
"
tableCode": "NN1",  
tableType": 8,  
tableSubType": 0,  
roundCode": "NN1-190320031912",  
betTime": 1553023174907,  
betList": [  
{
"betType": 302,  
"betMoney": 100  
}
],  
"
totalBet": 100,  
validBet": 0  
"
},  
150  
返回目錄  
niuniu ---Bet request  
"event": "increaseCredit",  
"timestamp": 1553023175093,  
"signature":  
"MT/Uf5jvs2J4ToA4AvubzyhuiDQV/LnVvktz/5+C4xgCcJ0i4InpkoMmyKEg0pwgsQio  
zwV9RqhMww3fPwKgPA=="}  
niuniu --- Bet response  
{
"seqNo": "678cb5e8fcf0083d4d47d101ad765e59",  
"
event": "increaseCredit",  
timestamp": 1553023175174,  
username": "test01",  
status": 200,  
"
"
"
"
"
money":525,  
moneyBefore": 625}  
niuniu --- WithholdingRefund request  
{
"username": "test01",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": 375,  
type": 28,  
platform": 3,  
currency": "CNY",  
seqNo": "e55858827e81a130d227db3a8b5560ed",  
sessionToken": "25AAC8A764B64DDE8A209AE31D2F8DC7",  
detail": {  
"
"
"
"
tableCode": "NN1",  
tableType": 8,  
tableSubType": 0,  
roundCode": "NN1-190320031912"  
},  
"event": "increaseCredit",  
"timestamp": 1553023224046,  
151  
返回目錄  
niuniu --- WithholdingRefund request  
signature":  
AxkjfOWWfr0Y+FqNkXvFAhrHRWr1PvDxi2Yad69EEMfny5BsyFDrJN6aMOFVnpjnm  
"
"
fhSORdilbKJ1yTF63VoKQ=="}  
niuniu --- WithholdingRefund response  
{
"seqNo": "e55858827e81a130d227db3a8b5560ed",  
"
event": "increaseCredit",  
timestamp": 1553023224163,  
username": "test01",  
status": 200,  
"
"
"
"
"
money": 900,  
moneyBefore": 525}  
niuniu --- Payout request  
{
"username": "test01",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": 197,  
type": 2,  
platform": 3,  
currency": "CNY",  
seqNo": "b544d7237c4085ed2acb5c1676bd010c",  
sessionToken": "25AAC8A764B64DDE8A209AE31D2F8DC7",  
detail": {  
"
"
"
"
tableCode": "NN1",  
tableType": 8,  
tableSubType": 0,  
srcResults": [ 20, 15, 29, 26, 13, 48, 12, 1, 10, 5, 16, 45, 44, 2, 9, 23, 21,  
4
6, 42, 24 ],  
"results": [ 301, 302, 303, 304, 305, 306 ],  
"betList": [  
{
"betType": 302,  
152  
返回目錄  
niuniu --- Payout request  
"
"
"
betMoney": 100,  
seqNo": "678cb5e8fcf0083d4d47d101ad765e59",  
payout": 572  
}
],  
"
"
"
"
"
"
roundCode": "NN1-190320031912",  
betTime": 1553023174913,  
totalBet": 100,  
validBet": 100,  
payout": 572,  
payoutTime": 1553023224035  
},  
"event": "increaseCredit",  
"timestamp": 1553023224233,  
"signature":  
"ZNqtx5M77Di7ndCBvR9kvTx0DvczEA3mjRjq/h47dAnD2s9NQmenZoywL7HM5Pxp  
AE/or87Tijzy51dRKRSx1w=="}  
niuniu --- Payout response  
{
"seqNo": "b544d7237c4085ed2acb5c1676bd010c",  
"
event": "increaseCredit",  
timestamp": 1553023224383,  
username": "test01",  
status": 200,  
"
"
"
"
"
money": 1097,  
moneyBefore": 900}  
RefundwhenBetErr request  
{
"
"
"
username": "test01",  
channelId": 1,  
money": 375,  
153  
返回目錄  
RefundwhenBetErr request  
"
"
"
"
"
type": 11,  
platform": 3,  
currency": "CNY",  
seqNo": "80e7654c4ca6374ebad6ef7fbf3a3d31",  
detail": {  
"
"
"
"
"
"
tableCode": "NN1",  
tableType": 8,  
tableSubType": 0,  
roundCode": "NN1-190118164844",  
betTime": 1547801334406,  
betList": [  
{
"betType": 306,  
"betMoney": 100  
}
],  
"
totalBet": 100,  
validBet": 0  
"
},  
"
"
"
"
event": "increaseCredit",  
timestamp": 1547801334464,  
sessionToken": "fb421f9f43bd909445d5c1ea7c1b8e5a",  
signature":  
"AGayIwMM9sqg/ynMZZNg/kW1NL0EZOm9tomZlnqgGDVpgcAEvj0MfyB1yVu8we  
zaOxUZ47lW0b48gh123GKCDg=="  
}
RefundwhenBetErr response  
{
"seqNo": "80e7654c4ca6374ebad6ef7fbf3a3d31",  
"
event": "increaseCredit",  
timestamp": 1553023224383,  
username": "test01",  
"
"
154  
返回目錄  
RefundwhenBetErr response  
"
"
"
status": 200,  
money": 1000,  
moneyBefore": 625}  
No-commission Baccarat Payout request  
{"username": "test001",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": 150,  
type": 2,  
platform": 3,  
currency": "USD",  
seqNo": "62779e7c002939ef70a9702454f959d1",  
sessionToken": "97c1f7a88664fc795c27324d8823e2e5",  
detail": {  
"
"
"
"
"
"
tableCode": "B3",  
tableType": 1,  
tableSubType": 0,  
srcResults": [51,40, 50, 39, 41, null],  
results": [80, 86, 70, 83, 63],  
betList": [{  
"
"
"
"
betType": 80,  
betMoney": 100,  
seqNo": "d1133a19df7ab76391b605634ba9d185",  
payout": 150}],  
"
"
"
"
"
"
roundCode": "B3-190416162807",  
betTime": 1555403291829,  
totalBet": 100,  
validBet": 50,  
payout": 150,  
payoutTime": 1555403318532,  
"brokerageRequired":False},  
"event": "increaseCredit",  
155  
返回目錄  
No-commission Baccarat Payout request  
"
timestamp": 1555403318542,  
signature":  
"
"KxcmDVRPD/jxVKX6sHGtb4GnLzGCUmlWjW5UqliaQOPluU5navq0ZO6Sk+T2wBsaI  
hVJ+CWDHlQOtLe2zqXDaA=="}  
Commission Baccarat Payout request  
{"username": "test001",  
"
"
"
"
"
"
"
"
channelId": 1,  
money": 195,  
type": 2,  
platform": 3,  
currency": "USD",  
seqNo": "62779e7c002939ef70a9702454f959d1",  
sessionToken": "97c1f7a88664fc795c27324d8823e2e5",  
detail": {  
"
"
"
"
"
"
tableCode": "B3",  
tableType": 1,  
tableSubType": 0,  
srcResults": [51,40, 50, 39, 41, null],  
results": [80, 86, 70, 83, 63],  
betList": [{  
"
"
"
"
betType": 80,  
betMoney": 100,  
seqNo": "d1133a19df7ab76391b605634ba9d185",  
payout": 195}],  
"
"
"
"
"
"
"
roundCode": "B3-190416162807",  
betTime": 1555403291829,  
totalBet": 100,  
validBet": 100,  
payout": 195,  
payoutTime": 1555403318532,  
brokerageRequired":True},  
"event": "increaseCredit",  
156  
返回目錄  
Commission Baccarat Payout request  
"
timestamp": 1555403318542,  
signature":  
"
"KxcmDVRPD/jxVKX6sHGtb4GnLzGCUmlWjW5UqliaQOPluU5navq0ZO6Sk+T2wBsaI  
hVJ+CWDHlQOtLe2zqXDaA=="}  
返回 / Web-socket increaseCredit / REST (Http) increaseCredit  
157  
返回目錄  
7.8 swStatusCode  
状态代  
英文描述  
描述  
2
2
2
4
5
5
00  
01  
02  
10  
00  
05  
Success  
成功  
seqNo Repeated  
seqNo 重复  
渠道不存在  
Token 无效  
Server Error  
系统维护  
访问超时  
Channel not existing  
Invalid Token  
Server Error  
Server Maintenance  
System busy, try back later  
user in ladder baccarat, can't  
recharge  
4
4
003  
010  
4
4
4
4
4
4
5
1
1
1
025  
026  
027  
028  
037  
202  
003  
001  
002  
003  
invalid parameter  
参数不对  
签名不对  
IP 不允许  
Invalid signature  
IP is not authorized  
trial user cant recharge credit  
User not existence  
reach the API max attempt  
None existing sub channel  
Disconnected  
试玩玩家不能充值  
用户不存在  
达到访问上限  
子渠道不存在  
对方断线  
WS Server not handshake  
Insufficient Fund  
没完成握手  
余额不足  
返回(方便查阅用):  
Websocket Connect / registerOrLogin / syncCredit / increaseCredit/  
HeartBeat/ queryIncreaseCreditRecord / refundSingleWallet  
REST registerOrLogin / syncCredit/ increaseCredit /  
queryIncreaseCreditRecord / refundSingleWallet  
158  
返回目錄  
8由渠道商 request API  
8.1 创建用户<syncuser>  
在无需登入的情况下通过 HTTP 创建新用户。  
请求 eBET 服务器地址为 api 地址:8888+’/api/syncuser’  
15 创建新用户流程  
温馨提示:  
Q:如何获取密码?  
A:首先用户在贵方平台创建用户名和密码。  
当用户登入 ebet 客户端输入用户名和密码提交,同时 ebet  
服务器将会请求到贵方的验证用户的 API 验证,贵方的 API  
将会执行验证用户的动作,如果是成功贵方 API 会请求到  
ebet 服务器成功的结果,反之会客户端显示失败。  
PS :密码是保存在贵方那边的,我们不做密码保存。  
159  
返回目錄  
一、 输入参数  
这个参数是由渠道系统设置,然后向 eBET API 服务器发  
HTTP POST 请求。  
Post 请求 contentType : application/JSON  
名称  
类型  
string  
int  
必须  
示范值  
test  
998  
1
描述  
username  
channelId  
lang  
用户登入名(全小写)  
渠道 ID  
int  
语言:  
1
2
3
4
5
6
7
8
1
1
1
1
1
1
1
: 简体中文  
: 繁体中文  
: 英语  
: 韩语  
: 马来西亚语  
: 越南语  
: 印度尼西亚  
: 泰语  
0 : 日语  
1 : 粤语  
2 : 沙特阿拉伯语  
3 : 德语  
4 : 西班牙语  
5 : 法语  
6 : 俄语  
signature  
string  
签名(字符串拼接): username  
160  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
转成 RSA:请参考作范  
)  
subChannelId int  
对应后台的子渠道 ID,反之  
没有子渠道 ID  
就放零  
currency  
string 不是  
CNY  
只有多货币渠道需要添加  
详见表格  
二、 返回结果  
这个返回结果是由 eBET API 服务器返回给渠道系统的  
HTTP POST 响应。  
返回数据类型: JSON  
名称  
类型  
示范值  
描述  
状态代码:  
status  
int  
200  
2
2
4
4
4
00 - 成功  
02 - 渠道不存在  
01 - 用户已存在  
026 - 验签失败  
027 - IP 无访问权限  
apiVersion string 是  
1.2.52  
API 版本  
161  
返回目錄  
8.2 用户信息(无须登入)<userinfo>  
在无需登入的情况下通过 HTTP 查询某个用户信息。  
请求 eBet 服务器地址为 api 地址:8888+’/api/userinfo’  
此功能可以为渠道提供以下帮助  
一、 查询用户个人信息  
为用户充值前后,可以调此 API 功能来查看用户当前金  
16 查看用户信息流程  
162  
返回目錄  
二、 输入参数  
这个参数是由渠道系统设置,然后向 eBET API 服务器发  
HTTP POST 请求。  
Post 请求 contentType : application/ JSON  
名称  
类型 必须  
示范值 描述  
username  
channelId  
signature  
string 是  
test  
998  
用户登入名(全小写)  
int  
渠道 ID  
string 是  
签 名 ( 串 拼 )  
username+timestamp  
转成 RSA:请参考作  
范例)  
timestamp int  
144772 当前时间Unix time)  
2613  
currency string 不是  
CNY  
只有多货币渠道需要添加  
详见表格  
三、 返回结果  
这个返回结果是由 eBET API 服务器返回给渠道系统的  
HTTP POST 响应。  
返回数据类型: JSON  
163  
返回目錄  
名称  
类型  
必须 示范值  
描述  
username  
string  
test  
用户登入名(全小  
写)  
channelId  
int  
-1  
渠道 ID  
subChannelId int  
子渠道 ID  
用户 ID  
userId  
int  
money  
double  
int  
100.0  
用户当前金额  
timestamp  
1447722613  
当 前 时 间 Unix  
time)  
status  
int  
200  
状态代码  
2
2
4
4
00 - 成功  
02 - 渠道不存在  
026 - 验签失败  
027 - IP 无访问权  
4
037 - 用户不存在  
apiVersion  
wallet  
string  
1.2.52  
API 版本  
wallet[]  
[{typeId:0,money:10},{ 玩家多钱包 3 种钱  
包余额  
typeId:1,money:20},{  
typeId:2,money:30}]  
四) wallet  
名称  
typeId  
类型  
必须  
示范值  
描述  
int  
0
玩家多钱包的钱包种类  
代码  
多钱包  
0
1
2
通用钱包  
真人钱包  
电子货币包  
164  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
money  
int  
100  
玩家多钱包的钱包金额  
8.3 充值<recharge>  
在无需登入的情况下通过 HTTP 给用户充值。  
充值不会立即到账,需通过充值状态查询接口查询是否充  
值成功。  
请求 eBet 服务器地址为 api 地址:8888+’/api/recharge’ 和  
api 地址:8888+/api/rechargestatus’用来查询是否充值成功。  
注意:  
当请求 recharge API 之后必须请求 rechargeStatus API 检查  
看转账的状态。  
如果 rechargeStatus API 返回状态是成功 200,代表该转账已  
成功。  
如果 rechargeStatus API 返回状态是非 200,代表转账失败。  
切记:请求 recharge API 返回的状态 200 是代表执行成功而  
不是转账成功。  
recharge API有限定度上限  
数点支援到第二位  
165  
返回目錄  
17 充值流程图  
一、 建议充值流程  
一) 使用‘userinfo’ API 来查询目前用户拥有的金额在 eBet 游戏  
里。  
二) 发送‘recharge’ API 来为用户转出/转进金额。  
三) 如果有收到充值请求响应,那么就调用‘rechargestatus’ API (4)  
来查询充值记录是否成功。  
四) 如果在指定的时间内没有收到充值请求响应,那么可以调  
’rechargestatus’ API (建议至少 3),来查询充值记录是否成功。  
五) 充值成功就写入数据库里,不成功就不写入数据库,并记录  
166  
返回目錄  
充值失败/成功日志。  
二、 输入参数  
这个请求参数是由渠道系统设置向 eBET API 服务器发  
HTTP POST 请求。  
Post 请求 contentType : application/ JSON  
名称  
类型  
示范值  
描述  
username  
channelId  
money  
string  
int  
test  
-1  
用户登入名(全小写)  
渠道 ID  
double  
100.0  
充值金额,负数为是从 eBet  
游戏里转出  
金额  
rechargeReqId string  
充值请求 ID,系统用于验证  
是否是重复  
的充值请求,格式自定  
signature  
string  
签 名 ( 字 符 串 拼 接 )  
username+timestamp  
转成 RSA:请参考作范  
)  
timestamp  
int  
1447722613 当前时间Unix time)  
currency  
string  
CNY  
只有多货币渠道需要添加  
详见表格  
typeId  
Int  
0
选择要充值多钱包中的哪一  
种钱包(要先确定渠道是否有  
开启该钱包的功能)  
代码  
多钱包  
167  
返回目錄  
0
1
通用钱包  
包含所有游戏的  
(
钱包)  
真人钱包  
(
包含与真人荷官  
互动游戏所充值  
的钱包,例如:百  
家乐…etc)  
2
电子货币包  
(没有真人互动的  
游戏,例如:老虎  
…etc)  
三、 返回结果  
这个请求响应是由 eBET API 服务器返回给渠道系统的 HTTP  
POST 响应。  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
money  
double  
string  
100.0  
用户当前金额  
本次充值流水号  
状态代码:  
rechargeReqId  
2
2
2
2
2
4
4
00 - 请求提交成功  
01 - 重复的充值请求 id  
02 - 渠道不存在  
status  
int  
200  
03 - 充值 ID 不能为空  
04 - 充值金额不能为 0  
003 - 系统繁忙稍后再试  
010 - 已参加比赛不能充值  
168  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
4
4
4
4
5
026 - 验签失败  
027 - IP 无访问权限  
028 - 不能给游客充值  
037 - 用户不存在  
002 - 余额不足,取款失败  
apiVersion  
string  
1.2.52  
API 版本  
8.4 充值状态查询<rechargestatus>  
在无需登入的情况下通过 HTTP,根据充值时提供的流水号查  
询充值结果。  
此功能的流程图和(充值流程圖)是一样。  
请求 eBet 服务器地址为 api 地址:8888+’/api/rechargestatus’  
一、 输入参数  
这个请求参数是由渠道系统设置向 eBET API 服务器发  
HTTP POST 请求。  
Post 请求 contentType : application/ JSON  
名称  
channelId  
类型  
必须  
示范值  
描述  
int  
-1  
渠道 ID  
rechargeReqId string  
充值时提交的流水号  
签名 rechargeReqId  
signature  
currency  
string  
string  
转成 RSA:请参考作范  
)  
不是  
CNY  
只有多货币渠道需要添加  
详见表格  
169  
返回目錄  
二、 返回结果  
这个返回结果是由 eBET API 服务器向渠道系统发送 HTTP POST  
响应。  
返回数据类型:JSON  
名称  
类型  
必须  
示范值  
描述  
rechargeReqId  
string  
查询请求中提交的流水号  
状态代码:  
-
1 流水号不存在  
5
0
2
2
4
4
001 - 充值失败  
- 充值中  
status  
int  
200  
00 - 成功  
02 - 渠道不存在  
026 - 验签失败  
027 - IP 无访问权限  
apiVersion  
string  
1.2.52  
API 版本  
170  
返回目錄  
8.5 查询下注记录<userbethistory>  
在无需登入的情况下通过 HTTP 获取指定用户的下注记录。  
请求 eBet 服务器地址为 api 地址:8888+’/api/userbethistory’  
此功能可以用在以下情景  
查询某个用户的下注纪录,可以根据时间。  
查询某个子渠道还是渠道所有用户的下注记录,可以根据时间。  
让服务器在每各时间段拿取数据 (每 10 秒, 每一小时,每  
一天), 根据渠道本身业务的需求设置。  
18 查询下注记录图  
一、 输入参数  
这个参数是由渠道系统设置向 eBET API 服务器发送  
HTTP POST 请求。  
171  
返回目錄  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
必须  
不是  
示范值  
描述  
username  
string  
test  
用户名,转空串导出渠道  
下所有用户记录  
startTimeStr  
endTimeStr  
channelId  
string  
string  
int  
不是  
不是  
2016-04-01  
T10:10:10Z  
格 式 yyyy-MM-dd  
THH:mm:ssZ ( UTC+0 )  
2016-04-01  
T10:10:10Z  
格 式  
yyyy-MM-dd  
THH:mm:ssZ ( UTC+0 )  
-1  
0
渠道 ID  
subChannelId int  
不是  
子渠道 ID  
如果要查詢所有子渠道  
或沒有子渠道,則不設置  
betStatus  
int  
不是  
1
下注状态  
不设置:查询全部纪录  
1
0
:只查询成功纪录  
:只查询失败纪录  
pageNum  
pageSize  
int  
int  
不是  
不是  
1
页码 ,如不设置,自定  
义为 1  
10  
每页数量。 (最多上限  
5000 )  
如不设置,自定义为 10  
当前时间 (Unix time)  
timestamp  
signature  
int  
1447722613  
string  
签名(字符串拼接)  
username+timestamp  
转成 RSA请参考作  
范例)  
gameType  
int  
不是  
1
游戏编号:  
1
2
3
:baccarat  
:dragon-tiger  
:sic-bo  
172  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
4
5
6
7
8
:roulette  
:slot  
: trial slot  
: block chain baccarat  
:niuniu  
currency  
string  
不是  
CNY  
只有多货币渠道需要添加  
详见表格  
PS:如果签名没有用户名可以只是 timestamp 转签名。  
二、 返回结果  
这个返回结果是由 eBET API 服务器向渠道系统返回的  
HTTP POST 响应。  
返回数据类型:JSON  
名称  
类型  
必须  
示 范 描述  
count  
int  
10  
总记录数  
betHistories  
BetHistories  
betHistories 见下方表格  
remainingVisits int  
10  
请求次数,每分钟 100 次  
status  
int  
200  
状态代码:  
2
2
4
4
4
4
4
00 - 成功  
02 - 渠道不存在  
202 - 接口调用次数不足  
025 - 无效的参数  
026 - 验签失败  
027 - IP 无访问权限  
037 - 用户不存在  
apiVersion  
string  
1.2.52  
API 版本  
173  
返回目錄  
(一) betHistories  
名称  
类型  
描述  
游戏类型  
1
2
3
: 百家乐  
: 龙虎  
: 骰宝  
gameType  
betMap  
Int32  
4 : 轮盘  
5
6
7
8
: 水果机  
: 试玩水果机  
: 区块链百家乐  
牛牛  
下注项,betMap 见下方  
表格  
BetMap  
百家乐:  
6
6
6
8
8
8
8
0 : 闲  
6 : 闲对  
8 : 和  
0 : 庄  
8 : 庄对  
6 : 幸運六  
1 : 庄龙宝  
judgeResult  
Int32[]  
61 : 闲龙宝  
7
7
8
8
6
6
0 : 大  
1 : 小  
2 : 庄单  
3 : 庄双  
2 : 闲单  
3 : 闲双  
龙虎:  
1
0 : 龙  
174  
返回目錄  
名称  
类型  
描述  
1
6
1 : 虎  
8 : 和  
骰宝:  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
00 : 单  
01 : 双  
02 : 大  
03 : 小  
04 : 对子 1  
05 : 对子 2  
06 : 对子 3  
07 : 对子 4  
08 : 对子 5  
09 : 对子 6  
10 : 围骰 1  
11 : 围骰 2  
12 : 围骰 3  
13 : 围骰 4  
14 : 围骰 5  
15 : 围骰 6  
16 : 全围  
17 : 4 点  
18 : 5 点  
19 : 6 点  
20 : 7 点  
21 : 8 点  
25 : 9 点  
26 : 10 点  
27 : 11 点  
28 : 12 点  
29 : 13 点  
30 : 14 点  
175  
返回目錄  
名称  
类型  
描述  
1
1
1
1
1
1
1
1
31 : 15 点  
32 : 16 点  
33 : 17 点  
34 : 单点数  
35 : 单点数 2  
36 : 单点数 3  
37 : 单点数 4  
38 : 单点数 5  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
39 : 单点数 6  
40 : 组合 1-2  
41 : 组合 1-3  
42 : 组合 1-4  
43 : 组合 1-5  
44 : 组合 1-6  
45 : 组合 2-3  
46 : 组合 2-4  
47 : 组合 2-5  
48 : 组合 2-6  
49 : 组合 3-4  
50 : 组合 3-5  
51 : 组合 3-6  
52 : 组合 4-5  
53 : 组合 4-6  
54 : 组合 5-6  
55 : 二同号  
56 : 三不同  
轮盘:  
2
2
2
2
2
2
00 : 直接注  
01 : 分注  
02 : 街注  
03 : 角注  
04 : 三数  
05 : 四个号码  
176  
返回目錄  
名称  
类型  
描述  
2
2
2
2
2
2
2
06 : 线注  
07 : 列注  
08 : 打注  
09 : 红  
10 : 黑  
11 : 单  
12 : 双  
2
2
13 : 大  
14 : 小  
牛牛:  
开牌结果,见牌面代碼  
水果机/老虎机:  
不带此字段  
roundNo  
bet  
string  
double  
double  
int[]  
int[]  
int[]  
int  
牌局号  
下注总额  
payout  
派彩  
bankerCards  
playerCards  
allDices  
庄家牌型,见牌面代碼  
闲家牌型,见牌面代碼  
骰宝所有骰子  
龙虎游戏,龙的牌型  
龙虎游戏,虎的牌型  
轮盘游戏,结果数字  
开始时间  
dragonCard  
tigerCard  
number  
int  
int  
createTime  
payoutTime  
int  
int  
结算时间  
下注记录 ID,本条下注记  
录的唯一 ID  
betHistoryId  
string  
validBet  
double  
string  
用户的有效下注  
用户名  
username  
177  
返回目錄  
名称  
类型  
描述  
userId  
int  
用户独立 ID  
游戏名称  
1
2
3
. “baccarat”  
. “dragon-tiger”  
. “roulette”  
gameName  
string  
4. “sic-bo”  
5
6
7
8
. 随机的 id 号  
. 随机的 id 号  
. “blockchain-baccarat”  
. “niuniu”  
platform  
详见表格  
int  
int  
int  
Int[]  
闲家的总和点数  
庄家的总和点数  
牛牛的牌型比较结果  
playerResult  
bankerResult  
niuniuResult  
牛牛预扣 betType 细节参  
niuniuWithHoldingDeta  
il  
niuniuWithHoldingDetail  
[]  
niuniuWithHoldingTotal number  
牛牛预扣加总  
派彩详情  
payoutDetail  
Int[]  
若是派彩金额0,则是空  
阵列  
單純派彩金額  
payoutWithoutholding  
double  
若沒有預扣金額,參數值會  
payout相同  
若有預扣金額,計算公式為  
payout  
niuniuWithholdingtotal  
其參數值大於 0是玩家贏  
錢,等於 0是玩家輸錢  
盈餘  
balance  
double  
178  
返回目錄  
(二) betMap  
名称  
类型  
描述  
百家乐:  
6
6
6
8
8
0 : 闲  
6 : 闲对  
8 : 和  
0 : 庄  
8 : 庄对  
8
8
6
7
7
8
8
6
6
6 : 幸運六  
1 : 庄龙宝  
1 : 闲龙宝  
0 : 大  
1 : 小  
2 : 庄单  
3 : 庄双  
2 : 闲单  
3 : 闲双  
betType  
int  
龙虎:  
1
1
6
0 : 龙  
1 : 虎  
8 : 和  
骰宝 :  
1
1
1
1
1
1
1
1
1
00 : 单  
01 : 双  
02 : 大  
03 : 小  
04 : 对子 1  
05 : 对子 2  
06 : 对子 3  
07 : 对子 4  
08 : 对子 5  
179  
返回目錄  
名称  
类型  
描述  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
09 : 对子 6  
10 : 围骰 1  
11 : 围骰 2  
12 : 围骰 3  
13 : 围骰 4  
14 : 围骰 5  
15 : 围骰 6  
16 : 全围  
17 : 4 点  
18 : 5 点  
19 : 6 点  
20 : 7 点  
21 : 8 点  
25 : 9 点  
26 : 10 点  
27 : 11 点  
28 : 12 点  
29 : 13 点  
30 : 14 点  
31 : 15 点  
32 : 16 点  
33 : 17 点  
34 : 单点数  
35 : 单点数 2  
36 : 单点数 3  
37 : 单点数 4  
38 : 单点数 5  
39 : 单点数 6  
40 : 组合 1-2  
41 : 组合 1-3  
42 : 组合 1-4  
43 : 组合 1-5  
44 : 组合 1-6  
180  
返回目錄  
名称  
类型  
描述  
45 : 组合 2-3  
1
1
1
1
1
1
1
1
1
1
1
1
46 : 组合 2-4  
47 : 组合 2-5  
48 : 组合 2-6  
49 : 组合 3-4  
50 : 组合 3-5  
51 : 组合 3-6  
52 : 组合 4-5  
53 : 组合 4-6  
54 : 组合 5-6  
55 : 二同号  
56 : 三不号  
轮盘:  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
00 : 直接注  
01 : 分注  
02 : 街注  
03 : 角注  
04 : 三数  
05 : 四个号码  
06 : 线注  
07 : 列注  
08 : 打注  
09 : 红  
10 : 黑  
11 : 单  
12 : 双  
13 : 大  
14 : 小  
牛牛:  
3
3
3
3
01:闲家 1 平倍  
02:闲家 1 翻倍  
03:闲家 2 平倍  
04:闲家 2 翻倍  
181  
返回目錄  
名称  
类型  
描述  
3
3
05:闲家 3 平倍  
06:闲家 3 翻倍  
水果机/老虎机:  
null  
betNumber  
betMoney  
Int[]  
下注的数字 轮盘才有  
下注额  
double  
轮盘详细注种  
betTypeInterval  
betDice  
String  
Int[]  
詳見以下表格  
betType 包含不止一種點数時  
才有此参数 ( 骰宝才有 )  
(三) niuniuResult  
名称  
类型  
描述  
该玩家开出的牌型代码:  
1
2
1
1
1
: 五花牛  
0 : 牛牛  
9 : 9  
8 : 8  
7 : 7  
banker  
player1  
player2  
player3  
number  
16 : 6  
1
1
1
1
1
3
5 : 5  
4 : 4  
3 : 3  
2 : 2  
1 : 1  
: 无牛  
isWin  
boolean  
纪录输赢  
(四) niuniuWithHoldingDetail  
名称  
类型  
描述  
182  
返回目錄  
名称  
类型  
描述  
3
3
3
02  
04  
06  
number  
預扣的金額详情  
(五) payoutDetail  
名称  
类型  
描述  
百家乐:  
6
6
6
8
8
0
6
8
0
8
8
8
6
7
7
8
8
6
6
6
1
1
0
1
2
3
2
3
派彩的金额详情  
骰宝的 155.156 后面会携带该局  
开出的骰子点数,例如  
"155:1,1,6": 100  
number  
轮盘名称后面会携带该局的点数  
betTypeInterval 的參數,例如  
"
"
200:17": 3600, "207:1": 300,  
201:14,17": 1800  
龙虎:  
1
1
6
0
1
8
骰宝 :  
1
1
1
1
00  
01  
02  
03  
183  
返回目錄  
名称  
类型  
描述  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
04  
05  
06  
07  
08  
09  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
184  
返回目錄  
名称  
类型  
描述  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
轮盘:  
2
2
2
2
2
2
2
2
2
2
2
2
2
2
00  
01  
02  
03  
04  
05  
06  
07  
08  
09  
10  
11  
12  
13  
185  
返回目錄  
名称  
类型  
描述  
2
14  
牛牛:  
3
3
3
3
3
3
01  
02  
03  
04  
05  
06  
水果机/老虎机:  
null  
186  
返回目錄  
三、 投注记录数据参考  
范例 1  
{"gameType": 1,  
"
"
"
"
"
"
"
"
"
gameName": "baccarat",  
betMap": [{"betType": 80,  
betMoney": 1000}],  
bet": 1000,  
roundNo": "B4-180820095920",  
payout": 1950,  
payoutDetail": [{"80": 1950, }],  
judgeResult": [80,66],  
playerCards": [1,8],  
"
playerResult": 3,  
"bankerCards": [34,19],  
"
bankerResult": 8 ,  
"
createTime": 1534730373,  
payoutTime": 1534730391,  
betHistoryId": "5b7a2085b48213e39b19fa82",  
validBet": 1000,  
"
"
"
"
"
username": "benji",  
userId": 2251  
}
简介:用户玩百家乐,客户下注庄 1000,牌局结果是庄赢,百家乐  
庄赢的赔率是 0.95,所以连本金加派彩是 1950.0  
187  
返回目錄  
范例 2  
{
"gameType": 1,  
"
gameName": "baccarat",  
betMap": [  
"betType": 60,  
"
{
"
betMoney": 4000},  
{"betType": 80,  
"
"
"
"
"
"
"
betMoney": 2000}],  
bet": 6000,  
roundNo": "B4-180821133049",  
payout": 6000,  
payoutDetail": [{"60": 4000, },{"80": 2000, }],  
judgeResult": [68,66,88],  
playerCards": [51,51,51],  
"
playerResult": 3,  
"bankerCards": [51,51,51],  
"
bankerResult":3  
"
createTime": 1534829459,  
payoutTime": 1534829486,  
betHistoryId": "5b7ba393b48213e39b468a72",  
validBet": 0,  
"
"
"
"
"
username": "benji",  
userId": 2251}  
简介:客户在这一局下注庄 2000 ,闲 4000 ,莊閒兩邊點数開出 3  
點结果是和局,所以退回本金 6000.0 bankers players 牌型需要通  
过程序运行得出结果,参考示范代码部分。  
PS:如果 BetMap 内数组是为空,代表用户下注失败。  
188  
返回目錄  
范例 3  
{"gameType": 8,  
"
"
gameName": "niu niu",  
betMap": [  
{"betType": 301, "betMoney": 100},  
{"betType": 302, "betMoney": 100},  
{"betType": 303, "betMoney": 100},  
{"betType": 304, "betMoney": 100},  
{"betType": 305, "betMoney": 100},  
{"betType": 306, "betMoney": 100}],  
"
"
"
"
"
bet": 600,  
roundNo": "NN1-190116094438",  
payout": 0,  
payoutDetail": [],1  
judgeResult": [  
5
0
5
1
0,37,24,11,49,  
,1,2,3,4,  
,6,7,8,9,  
0,12,13,14,15],  
"
"
niuniuWithHoldingTotal": 600,  
niuniuWithHoldingDetail": {  
"
"
"
302": 375,  
304": 375,  
306": 375},  
"
niuniuResult": [  
{"banker": 3, "isWin": true},  
{"player1": 14, "isWin": false},  
{"player2": 19, "isWin": false},  
{"player3": 19, "isWin": false}],  
"
"
"
"
createTime": 1547603095,  
payoutTime": 1547603289,  
betHistoryId": "5c3e8c972947414bb4372b95",  
validBet": 600,  
189  
返回目錄  
"
"
"
username": "shit002",  
userId": 4475,  
platform": 2  
}
简介:牛牛的开牌结果,参考示范代码部分。  
四、 牛牛派彩規則  
当玩家下注翻倍而且输钱时,派彩金额可能有三种状况:  
1
2
3
.庄家牌型为牛五花,派彩金额=0(玩家输本金+全部预扣)  
.庄家牌型为牛牛,派彩金额=本金*2 (玩家输三倍本金)  
.庄家牌型为牛 9、牛 8、牛 7,派彩金额=本金*3 (玩家输两倍本  
)  
4
.庄家牌型为牛 1~牛 6,派彩金额=本金*4 (玩家输一倍本金)  
例子:玩家下注『闲家一号翻倍』100元,额外收取 400元预扣(共  
5
1
2
3
4
00),假如输牌,  
.庄家牌型为牛五花,payout0  
.庄家牌型为牛牛,payout200  
.庄家牌型为牛 9、牛 8、牛 7payout300  
.庄家牌型为牛 1~牛 6payout400  
190  
返回目錄  
五、 有效投注規則說明  
一般来说,总投注等于有效投注,但若发生下列状况,则会使有效投  
比总投注的金额少,甚至是“0”  
1.对投:当玩家在百家乐分别下注庄和闲,或在龙虎下注龙和虎的时  
候,会相互抵销,例如:玩家如果分别下注到 庄 10 个筹码以及闲 20  
个筹码,则有效投注为闲 10 个筹码(庄闲会抵销),但是 投注总额则  
30 个筹码。  
2.龙虎开和:当龙虎该局开和,龙虎的下注金退回一半,有效投注也  
以一半计算,不被对投情形影响,例如:龙下注 100 虎下注 200 开  
和就退回下注金 150 有效投注 150 (50+100)  
3.免佣百家乐庄家 6 点赢:当免佣百家乐庄家以 6 点赢,有效投注为  
下注的一半,例如:庄下注 1006 点胜出,有效投注为 50。但若有  
對投情形,則以對投計算優先,例如:庄下注 200、閒下注 1006  
点胜出,有效投注为 50 [(200-100)/2]。  
191  
返回目錄  
六、 betTypeInterval 参数表格  
範例 :  
1. 橘點為街注(202) betTypeInterval 0  
2. 藍點為角注(203) betTypeInterval 1,1  
3. 黃點為線注(206) betTypeInterval 3  
街注 betType = 202  
betTypeInterval  
number  
1,2,3  
0
1
2
3
4
5
6
7
8
9
4,5,6  
7,8,9  
10,11,12  
13,14,15  
16,17,18  
19,20,21  
22,23,24  
25,26,27  
28,29,30  
192  
返回目錄  
1
0
1
31,32,33  
34,35,36  
1
角注 betType = 203  
betTypeInterval  
number  
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
,0  
,1  
1,2,4,5  
2,3,5,6  
4,5,7,8  
5,6,8,9  
7,8,10,11  
8,9,11,12  
10,11,13,14  
11,12,14,15  
13,14,16,17  
14,15,17,18  
16,17,19,20  
17,18,20,21  
19,20,22,23  
20,21,23,24  
22,23,25,26  
23,24,26,27  
25,26,28,29  
26,27,29,30  
28,29,31,32  
29,30,32,33  
31,32,34,35  
32,33,35,36  
1
1
0,0  
0,1  
線注 betType = 206  
193  
返回目錄  
betTypeInterval  
number  
0
1
2
3
4
5
6
7
8
9
1,2,3,4,5,6  
4,5,6,7,8,9'  
7,8,9,10,11,12  
10,11,12,13,14,15  
13,14,15,16,17,18  
16,17,18,19,20,21  
19,20,21,22,23,24  
22,23,24,25,26,27  
25,26,27,28,29,30  
28,29,30,31,32,33  
31,32,33,34,35,36  
10  
列注 betType = 207  
betTypeInterval  
number  
0
第一列  
1
2
第二列  
第三列  
打注 betType = 208  
betTypeInterval  
number  
0
第一打  
194  
返回目錄  
1
2
第二打  
第三打  
轮盘范例  
Roulette response example  
{
"count": 1,  
"betHistories": [  
{
"
"
"
gameType": 4,  
gameName": "roulette",  
betMap": [  
{
"betType": 200,  
"betMoney": 50,  
"betNumber": [32]  
}
]
,
"bet": 50,  
"
"
"
roundNo": "R2-190308115818",  
payout": 2400,  
payoutDetail": {  
"200:32": 1800  
}
,
"judgeResult": [  
2
2
2
2
2
2
00,  
13,  
12,  
09,  
02,  
07,  
195  
返回目錄  
2
2
2
2
2
2
2
2
2
2
2
06,  
06,  
03,  
03,  
03,  
03,  
08,  
01,  
01,  
01,  
01  
]
,
"
"
"
"
"
"
"
"
number": 32,  
createTime": 1552017506,  
payoutTime": 1552017518,  
betHistoryId": "5c81e86201b9b70f61927f2f",  
validBet": 50,  
username": "o1",  
userId": 2317,  
platform": 3  
}
]
,
"
"
"
remainingVisits": 299,  
status": 200,  
apiVersion": "1.2.99"  
}
196  
返回目錄  
8.6 批量查询用户金额<getusermoney>  
请求 eBet 服务器地址为 api 地址:8888+’/api/getusermoney’  
一、 请求参数  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
int  
必须  
示范值  
Test1,test2  
1
描述  
username  
channelId  
signature  
用户名,多个用户名用逗号隔开  
渠道 ID  
string  
签名字段: username  
转成 RSA:请参考作范例)  
currency  
string  
不是  
CNY  
只有多货币渠道需要添加  
详见表格  
二、 返回参数  
返回数据型:JSON  
名称  
类型  
必须 示范值  
描述  
状态代码:  
2
00 - 成功  
status  
int  
Test1,test2 202 - 渠道不存在  
4
4
026 - 验签失败  
027 - IP 无访问权  
查询结果列表,如果某个用户不存  
在,则返回的列表中不包含该用户名  
results  
result[]  
1
apiVersion string  
1.2.52  
API 版本  
197  
返回目錄  
(一) results  
名称  
类型  
int  
必须  
示范值  
B016  
描述  
username  
money  
用户名  
double  
wallet  
1000  
账户余额  
wallet  
玩家多钱包 3 种钱包余额  
(二) wallet  
名称  
类型  
必须 示范值  
描述  
玩家多钱包的钱包种类  
typeId  
int  
0
多钱包  
0
1
2
通用钱包  
真人钱包  
电子货币包  
money  
int  
100  
玩家多钱包的钱包金额  
198  
返回目錄  
8.7 获取用户额度记录<usertransaction>  
请 求  
eBet  
服 务 器 地 址 为  
api  
:8888+’/api/usertransaction’  
『重要』由于资料量过于庞大,建议请求时带入 startTimeStr、  
endTimeStrpageNumpageSize,借此缩短查询时间  
一、 请求参数  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
string  
必须 示范值  
描述  
username  
不是 test  
用户名  
startTimeStr  
不是 2016-04-01  
格 式 yyyy-MM-dd THH:mm:ssZ  
T10:10:10Z  
( UTC+0 )  
endTimeStr  
string  
不是 2016-04-01  
格 式 yyyy-MM-dd THH:mm:ssZ  
T10:10:10Z  
( UTC+0 )  
channelId  
int  
-1  
渠道 ID  
subChannelId int  
不是 1001  
对应后台的子渠道 ID,  
反之没有子渠道 ID 就放零  
pageNum  
pageSize  
int  
不是  
1
页码  
int  
不是 10  
每页数量,最大 5000  
timestamp  
signature  
int  
1447722613 当前时间Unix time)  
string  
签名(字符串拼接)  
username+timestamp  
转成 RSA:请参考作范例)  
currency  
string  
不是 CNY  
只有多货币渠道需要添加  
199  
返回目錄  
详见表格  
tradeType  
int[]  
不是  
详见表格  
二、 返回结果  
返回数据型:JSON  
名称  
类型  
string  
int  
必须  
示范值  
描述  
count  
status  
总记录数  
状态代码:  
200  
2
2
4
4
4
4
4
00 成功  
02 渠道不存在  
202 接口调用次数不足  
025 无效的参数  
026 验签失败  
027 IP 无访问权限  
037 用户不存在  
remainingVisits int  
剩余调用次数,每小时 60 次  
transactions 见下方表格  
API 版本  
transactions  
apiVersion  
transactions  
string  
1.2.52  
(一) transactions  
名称  
类型  
必须  
示范值  
描述  
transactionId  
userId  
string  
int  
交易单号  
用户 ID  
用户名  
username  
subChannelId  
string  
int  
子渠道 ID  
200  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
tradeType  
int  
详见表格  
roundNo  
string  
牌局号或流水号  
交易前余额  
transBeforeBalance double  
transBalance  
transAfterBalance  
time  
double  
double  
string  
交易余额  
交易后余额  
交易时间(yyyy-MM-dd HH:mm:ss)  
活动编号  
bonusId  
int  
tradeType=23.24 的时候会才有  
活动名称  
bonusName  
string  
tradeType=23.24 的时候会才有  
8.8 API 设置用户个人投注上下限<getbetlimit>  
8.8.1 设计目的  
这个功能是能通过 API 的方式,设置指定的房间个人投注  
限额。  
这个的条件必须是在没打开渠道多投注限额的房间多范围  
限额。  
场景:如果一个的渠道有多个代理的模式,而每一个的代  
理的上下限是不同的范围  
玩家的数量很多,就需要API来管理每一个玩家的上下限。  
8.8.2 设计内容及清单  
设计内容  
201  
返回目錄  
设置有效条件  
关联内容  
渠道多投注范围没有打开  
功能入口列举  
关联数据列举  
内容清单  
API 接口端  
美术资源清单  
音效列表  
8.8.3 概述  
一、 说明系统的玩法规则  
二、 如果渠道的多投注范围是打开的,这个功能是会失效。  
三、 这个会有一个 API ,直接更新该个用户的房间类型的每一个  
项目的上下限。  
四、 转入钱包和单钱包是公用同一 API ,设置后玩家重登就能  
更新目前房间的下注上下限(因为渠道不允许访 问游戏服的  
API。所以不能把这个的 API 设计进去 websocket HttpPost)  
五、 规矩:渠道是 API 服务器,游戏以客户端来连接。  
8.8.4 功能设计  
拿取单个玩家的房间类型投注限制设置的 API  
POST 的方式提交  
202  
返回目錄  
一、 渠道发请求到游戏开发商  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
int  
必须  
示范值  
test  
描述  
username  
channelId  
timestamp  
signature  
用户名字  
-1  
渠道 Id  
long  
string  
1514272017 时间戳  
签名字段  
RSA(username + channelId + timestamp)  
转成 RSA:请参考作范例)  
currency  
string 不是  
CNY  
只有多货币渠道需要添加  
详见表格  
Sample request  
{
"
"
"
"
}
username": "test001",  
channelId": -1,  
timestamp": 1516347841,  
signature": "xxxxxxxxxxxxxxxxxxxxxx"  
二、 返回来的参数  
返回数据型:JSON  
名称  
类型  
必须  
示范值  
200  
描述  
状态代码:  
status  
int  
2
2
4
4
00 成功  
02 渠道不存在  
037 用户不存在  
026 验签失败  
203  
返回目錄  
4
027 IP 无访问权  
username  
channelId  
limit  
string  
int  
test  
-1  
用户名  
渠道号  
看下图  
API 版本  
Limit[]  
string  
apiVersion  
1.2.52  
(一) Limit[]  
百家乐  
名称  
类型  
必须  
描述  
bankerMin  
bankermax  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
庄最小下注限制  
庄最大下注限制  
庄对最小下注限制  
庄对最大下注限制  
闲最小下注限制  
闲最大下注限制  
闲对最小下注限制  
闲对最大下注限制  
和最小下注限制  
和最大下注限制  
庄幸运六最小下注限制  
庄幸运六最大下注限制  
庄龙宝最小下注限制  
庄龙宝最大下注限制  
闲龙宝最小下注限制  
闲龙宝最大下注限制  
大最小下注限制  
大最大下注限制  
bankerPairMin  
bankerPairMax  
playerMin  
playerMax  
playerPairMin  
playerPairMax  
tieMin  
tieMax  
bankerLucky6Min  
bankerLucky6Max  
bankerDragonBonusMin  
bankerDragonBonusMax  
playerDragonBonusMin  
playerDragonBonusMax  
bigMin  
bigMax  
204  
返回目錄  
名称  
类型  
必须  
描述  
小最小下注限制  
smallMin  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
string  
smallMax  
小最大下注限制  
庄单最小下注限制  
庄单最大下注限制  
庄双最小下注限制  
庄双最大下注限制  
闲单最小下注限制  
闲单最大下注限制  
闲双最小下注限制  
闲双最大下注限制  
游戏类别  
bankerOddMin  
bankerOddMax  
bankerEvenMin  
bankerEvenMax  
playerOddMin  
playerOddMax  
playerEvenMin  
playerEvenMax  
gameType  
龙虎  
名称  
类型  
decimal  
必须  
描述  
龙最小下注限制  
龙最大下注限制  
虎最小下注限制  
虎最大下注限制  
和最小下注限制  
和最大下注限制  
游戏类别  
dragonMin  
dragonMax  
tigerMin  
tigerMax  
tieMin  
decimal  
decimal  
decimal  
decimal  
decimal  
string  
tieMax  
gameType  
骰宝  
名称  
类型  
必须  
描述  
单最小下注限制  
单最大下注限制  
双最小下注限制  
双最大下注限制  
大最小下注限制  
大最大下注限制  
小最小下注限制  
oddMin  
oddMax  
evenMin  
evenMax  
bigMin  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
bigMax  
smallMin  
205  
返回目錄  
名称  
类型  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
必须  
描述  
小最大下注限制  
smallMax  
pairMin  
长牌最小下注限制  
长牌最大下注限制  
围骰最小下注限制  
围骰最大下注限制  
全骰最小下注限制  
全骰最大下注限制  
4 最小下注限制  
4 最大下注限制  
5 最小下注限制  
5 最大下注限制  
6 最小下注限制  
6 最大下注限制  
7 最小下注限制  
7 最大下注限制  
8 最小下注限制  
8 最大下注限制  
9 最小下注限制  
9 最大下注限制  
10 最小下注限制  
10 最大下注限制  
11 最小下注限制  
11 最大下注限制  
12 最小下注限制  
12 最大下注限制  
13 最小下注限制  
13 最大下注限制  
14 最小下注限制  
14 最大下注限制  
15 最小下注限制  
15 最大下注限制  
16 最小下注限制  
pairMax  
tripleMin  
tripleMax  
allTripleMin  
allTripleMax  
fourMin  
fourMax  
fiveMin  
fiveMax  
sixMin  
sixMax  
sevenMin  
sevenMax  
eightMin  
eightMax  
nineMin  
nineMax  
tenMin  
tenMax  
elevenMin  
elevenMax  
twelveMin  
twelveMax  
thirteenMin  
thirteenMax  
fourteenMin  
fourteenMax  
fifteenMin  
fifteenMax  
sixteenMin  
206  
返回目錄  
名称  
sixteenMax  
类型  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
string  
必须  
描述  
16 最大下注限制  
17 最小下注限制  
17 最大下注限制  
单点数最小下注限制  
单点数最大下注限制  
组合最小下注限制  
组合最大下注限制  
2 同号最小下注限制  
2 同号最大下注限制  
3 不同最小下注限制  
3 不同最大下注限制  
游戏类别  
seventeenMin  
seventeenMax  
singleDiceMin  
singleDiceMax  
combinationMin  
combinationMax  
moreLeftMin  
moreLeftMax  
moreRightMin  
moreRightMax  
gameType  
轮盘  
名称  
类型  
必须  
描述  
oddMin  
oddMax  
evenMin  
evenMax  
bigMin  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
单最小下注限制  
单最大下注限制  
双最小下注限制  
双最大下注限制  
大最小下注限制  
大最大下注限制  
小最小下注限制  
小最大下注限制  
红最小下注限制  
红最大下注限制  
黑最小下注限制  
黑最大下注限制  
打最小下注限制  
打最大下注限制  
列注最小下注限制  
列注最大下注限制  
线注最小下注限制  
线注最大下注限制  
bigMax  
smallMin  
smallMax  
redMin  
redMax  
blackMin  
blackMax  
dozenMin  
dozenMax  
columnMin  
columnMax  
lineMin  
lineMax  
207  
返回目錄  
名称  
basketMin  
类型  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
string  
必须  
描述  
4 个号码最小下注限制  
4 个号码最大下注限制  
角注最小下注限制  
角注最大下注限制  
3 数最小下注限制  
3 数最大下注限制  
街注最小下注限制  
街注最大下注限制  
分注最小下注限制  
分注最大下注限制  
直注最小下注限制  
直注最大下注限制  
游戏类别  
basketMax  
cornerMin  
cornerMax  
trioMin  
trioMax  
streetMin  
streetMax  
splitMin  
splitMax  
straightMin  
straightMax  
gameType  
牛牛  
名称  
类型  
必须  
描述  
betPlayer1Min  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
decimal  
string  
闲家 1 平倍最小下注限制  
闲家 1 平倍最大下注限制  
闲家 1 翻倍最小下注限制  
闲家 1 翻倍最大下注限制  
闲家 2 平倍最小下注限制  
闲家 2 平倍最大下注限制  
闲家 2 翻倍最小下注限制  
闲家 2 翻倍最大下注限制  
闲家 3 平倍最小下注限制  
闲家 3 平倍最大下注限制  
闲家 3 翻倍最小下注限制  
闲家 3 翻倍最大下注限制  
游戏类别  
betPlayer1Max  
betPlayer1DoubleMin  
betPlayer1DoubleMax  
betPlayer2Min  
betPlayer2Max  
betPlayer2DoubleMin  
betPlayer2DoubleMax  
betPlayer3Min  
betPlayer3Max  
betPlayer3DoubleMin  
betPlayer3DoubleMax  
gameType  
代码  
游戏类别  
1
2
百家乐 - 特殊房间  
百家乐 - 普通房间  
208  
返回目錄  
3
龙虎  
4
5
6
骰宝  
轮盘  
牛牛  
Sample response  
{
"
"
"
username": "benji",  
channelId": 1,  
limit": [  
{
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
gameType": 2,  
playerMin": 20,  
playerMax": 20000,  
bankerMin": 10,  
bankerMax": 20000,  
tieMin": 10,  
tieMax": 2000,  
playerPairMin": 10,  
playerPairMax": 2000,  
bankerPairMin": 10,  
bankerPairMax": 2000,  
bankerLucky6Min": 20000,  
bankerDragonBonusMin": 20,  
bankerDragonBonusMax": 20000,  
playerDragonBonusMin": 20,  
playerDragonBonusMax": 20000,  
bigMin": 30,  
bigMax": 30000,  
smallMin": 30,  
smallMax": 30000,  
bankerOddMin": 30,  
bankerOddMax": 30000,  
209  
返回目錄  
Sample response  
"
"
"
"
"
"
bankerEvenMin": 30,  
bankerEvenMax": 30000,  
playerOddMin": 30,  
playerOddMax": 30000,  
playerEvenMin": 30,  
playerEvenMax": 30000  
},  
{
"
"
"
"
"
"
"
gameType": 3,  
dragonMin": 20,  
dragonMax": 10000,  
tigerMin": 10,  
tigerMax": 10000,  
tieMin": 10,  
tieMax": 1000  
},  
{
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
gameType": 1,  
playerMin": 200,  
playerMax": 300000,  
bankerMin": 300,  
bankerMax": 300000,  
tieMin": 30,  
tieMax": 30000,  
playerPairMin": 30,  
playerPairMax": 30000,  
bankerPairMin": 30,  
bankerPairMax": 30000,  
bankerLucky6Min": 30000,  
bankerDragonBonusMin": 30,  
bankerDragonBonusMax": 30000,  
playerDragonBonusMin": 30,  
210  
返回目錄  
Sample response  
"
"
"
"
"
"
"
"
"
"
"
"
"
playerDragonBonusMax": 30000,  
bigMin": 30,  
bigMax": 30000,  
smallMin": 30,  
smallMax": 30000,  
bankerOddMin": 30,  
bankerOddMax": 30000,  
bankerEvenMin": 30,  
bankerEvenMax": 30000,  
playerOddMin": 30,  
playerOddMax": 30000,  
playerEvenMin": 30,  
playerEvenMax": 30000  
},  
{
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
gameType": 5,  
oddMin": 20,  
oddMax": 10000,  
evenMin": 20,  
evenMax": 10000,  
bigMin": 20,  
bigMax": 10000,  
smallMin": 20,  
smallMax": 10000,  
redMin": 20,  
redMax": 10000,  
blackMin": 20,  
blackMax": 10000,  
dozenMin": 20,  
dozenMax": 5000,  
columnMin": 20,  
columnMax": 5000,  
211  
返回目錄  
Sample response  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
lineMin": 20,  
lineMax": 2000,  
basketMin": 20,  
basketMax": 1250,  
cornerMin": 20,  
cornerMax": 1250,  
trioMin": 20,  
trioMax": 900,  
streetMin": 20,  
streetMax": 900,  
splitMin": 20,  
splitMax": 600,  
straightMin": 20,  
straightMax": 300  
},  
{
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
gameType": 4,  
oddMin": 20,  
oddMax": 50000,  
evenMin": 20,  
evenMax": 50000,  
bigMin": 20,  
bigMax": 50000,  
smallMin": 20,  
smallMax": 50000,  
pairMin": 20,  
pairMax": 6000,  
tripleMin": 20,  
tripleMax": 1000,  
allTripleMin": 20,  
allTripleMax": 2500,  
fourMin": 20,  
212  
返回目錄  
Sample response  
fourMax": 1000,  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
fiveMin": 20,  
fiveMax": 2500,  
sixMin": 20,  
sixMax": 5000,  
sevenMin": 20,  
sevenMax": 5000,  
eightMin": 20,  
eightMax": 5000,  
nineMin": 20,  
nineMax": 5000,  
tenMin": 20,  
tenMax": 5000,  
elevenMin": 20,  
elevenMax": 5000,  
twelveMin": 20,  
twelveMax": 5000,  
thirteenMin": 20,  
thirteenMax": 5000,  
fourteenMin": 20,  
fourteenMax": 5000,  
fifteenMin": 20,  
fifteenMax": 5000,  
sixteenMin": 20,  
sixteenMax": 2500,  
seventeenMin": 20,  
seventeenMax": 1000,  
singleDiceMin": 20,  
singleDiceMax": 15000,  
combinationMin": 20,  
combinationMax": 10000,  
moreLeftMin": 20,  
213  
返回目錄  
Sample response  
"
"
"
moreLeftMax": 1000,  
moreRightMin": 20,  
moreRightMax": 1500  
}
{
"
"
"
"
"
"
"
"
"
"
"
"
"
gameType": 6,  
betPlayer1Min":20,  
betPlayer1Max":20000,  
betPlayer1DoubleMin":20,  
betPlayer1DoubleMax":20000,  
betPlayer2Min":20,  
betPlayer2Max":20000,  
betPlayer2DoubleMin":20,  
betPlayer2DoubleMax":20000,  
betPlayer3Min":20,  
betPlayer3Max":20000,  
betPlayer3DoubleMin":20,  
betPlayer3DoubleMax":20000  
}
],  
"status": 200,  
"apiVersion": "1.3.06"  
}
214  
返回目錄  
8.9 更新单个玩家的房间类型投注限制<updatebetlimit>  
POST 的方式提交  
一、渠道发请求到游戏开发商  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
int  
必须  
示范值  
test  
描述  
username  
channelId  
timestamp  
用户名字  
渠道 Id  
时间戳  
-1  
long  
1514270  
17  
signature  
string  
签名字段  
RSA(username+chan  
nelId+timestamp)  
转成 RSA:请参考  
作范例)  
limit  
Limit[]  
请参考 Limit  
currency  
string  
不是  
CNY  
只有多货币渠道需要添  
详见表格  
215  
返回目錄  
Example request  
{
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
channelId":1,  
username":"benji",  
timestamp":1543385728016,  
signature":"xxxxxxxxxxxxx",  
limit":[{"gameType":"1",  
playerMin":"200",  
playerMax":"300000",  
bankerMin":"300",  
bankerMax":"300000",  
tieMin":"30",  
tieMax":"30000",  
playerPairMin":"30",  
playerPairMax":"30000",  
bankerPairMin":"30",  
bankerPairMax":"30000",  
bankerLucky6Min":"30",  
bankerLucky6Max":"30000",  
bankerDragonBonusMin":"30",  
bankerDragonBonusMax":"30000",  
playerDragonBonusMin":"30",  
playerDragonBonusMax":"30000",  
bigMin":"30",  
bigMax":"30000",  
smallMin":"30",  
smallMax":"30000",  
bankerOddMin":"30",  
bankerOddMax":"30000",  
bankerEvenMin":"30",  
bankerEvenMax":"30000",  
playerOddMin":"30",  
playerOddMax":"30000",  
216  
返回目錄  
Example request  
"playerEvenMin":"30",  
"playerEvenMax":"30000"},  
{"gameType":"2",  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
playerMin":"20",  
playerMax":"20000",  
bankerMin":"10",  
bankerMax":"20000",  
tieMin":"10",  
tieMax":"2000",  
playerPairMin":"10",  
playerPairMax":"2000",  
bankerPairMin":"10",  
bankerPairMax":"2000",  
bankerLucky6Min":"20",  
bankerLucky6Max":"20000",  
bankerDragonBonusMin":"20",  
bankerDragonBonusMax":"20000",  
playerDragonBonusMin":"20",  
playerDragonBonusMax":"20000",  
bigMin":"30",  
bigMax":"30000",  
smallMin":"30",  
smallMax":"30000",  
bankerOddMin":"30",  
bankerOddMax":"30000",  
bankerEvenMin":"30",  
bankerEvenMax":"30000",  
playerOddMin":"30",  
playerOddMax":"30000",  
playerEvenMin":"30",  
playerEvenMax":"30000"},  
{"gameType":"3",  
217  
返回目錄  
Example request  
"
"
"
"
"
"
dragonMin":"20",  
dragonMax":"10000",  
tigerMin":"10",  
tigerMax":"10000",  
tieMin":"10",  
tieMax":"1000"},  
{"gameType":"4",  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
oddMin":"30",  
oddMax":"50000",  
evenMin":"20",  
evenMax":"50000",  
bigMin":"20",  
bigMax":"50000",  
smallMin":"20",  
smallMax":"50000",  
pairMin":"20",  
pairMax":"6000",  
tripleMin":"20",  
tripleMax":"1000",  
allTripleMin":"20",  
allTripleMax":"2500",  
fourMin":"20",  
fourMax":"1000",  
fiveMin":"20",  
fiveMax":"2500",  
sixMin":"20",  
sixMax":"5000",  
sevenMin":"20",  
sevenMax":"5000",  
eightMin":"20",  
eightMax":"5000",  
nineMin":"20",  
218  
返回目錄  
Example request  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
nineMax":"5000",  
tenMin":"20",  
tenMax":"5000",  
elevenMin":"20",  
elevenMax":"5000",  
twelveMin":"20",  
twelveMax":"5000",  
thirteenMin":"20",  
thirteenMax":"5000",  
fourteenMin":"20",  
fourteenMax":"5000",  
fifteenMin":"20",  
fifteenMax":"5000",  
sixteenMin":"20",  
sixteenMax":"2500",  
seventeenMin":"20",  
seventeenMax":"1000",  
singleDiceMin":"20",  
singleDiceMax":"15000",  
combinationMin":"20",  
combinationMax":"10000",  
moreLeftMin":"20",  
moreLeftMax":"1000",  
moreRightMin":"20",  
moreRightMax":"1500"},  
{"gameType":"5",  
"
"
"
"
"
"
oddMin":"20",  
oddMax":"5000",  
evenMin":"20",  
evenMax":"10000",  
bigMin":"20",  
bigMax":"10000",  
219  
返回目錄  
Example request  
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
smallMin":"20",  
smallMax":"10000",  
redMin":"20",  
redMax":"10000",  
blackMin":"20",  
blackMax":"10000",  
dozenMin":"20",  
dozenMax":"5000",  
columnMin":"20",  
columnMax":"5000",  
lineMin":"20",  
lineMax":"2000",  
basketMin":"20",  
basketMax":"1250",  
cornerMin":"20",  
cornerMax":"1250",  
trioMin":"20",  
trioMax":"900",  
streetMin":"20",  
streetMax":"900",  
splitMin":"20",  
splitMax":"600",  
straightMin":"20",  
straightMax":"300"},  
{"gameType": 6,  
"
"
"
"
"
"
"
betPlayer1Min":20,  
betPlayer1Max":20000,  
betPlayer1DoubleMin":20,  
betPlayer1DoubleMax":20000,  
betPlayer2Min":20,  
betPlayer2Max":20000,  
betPlayer2DoubleMin":20,  
220  
返回目錄  
Example request  
"
"
"
"
"
betPlayer2DoubleMax":20000,  
betPlayer3Min":20,  
betPlayer3Max":20000,  
betPlayer3DoubleMin":20,  
betPlayer3DoubleMax":20000  
}
]
}
二、返回来的参数  
返回参数类型:JSON  
名称  
类型  
string  
int  
必须  
示范值  
test001  
-1  
描述  
username  
channelId  
status  
用户名  
渠道 ID  
状态代码:  
int  
200  
2
2
4
4
4
00 成功  
02 渠道不存在  
037 用户不存在  
026 验签失败  
027 IP 无访问权  
apiVersion  
string  
int[]  
1.2.52  
[1,2,4]  
API 版本  
更新投注限额游戏的代号:  
updateGame  
List  
1
2
3
4
5
6
:百家乐特殊房间  
:百家乐普通房间  
:龙虎  
:骰宝  
:轮盘  
:牛牛  
Sample response  
221  
返回目錄  
Sample response  
{
"
"
"
username":"test001",  
channelId": -1,  
status": 200  
}
8.10 单钱包拉取失败 seqNo 记录<getseqnorecord>  
这个的 API 只开放给单钱包的渠道,提供一个接口给渠道检查失败交  
易的记录。  
URL :地址 http://192.169.1.100:8888/api/getseqnorecord  
POST 的方式提交  
一、 渠道发请求到游戏开发商  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
必须  
示范值  
描述  
username  
string 否  
test001  
用户名  
[规则]:传空串导出渠  
道下全部的记录  
channelId  
int  
-1  
渠道 Id  
subChannelId int  
子渠道 Id  
页码  
pageNum  
int  
1
[
规则]:默认:1  
pageSize  
int  
1000  
每页最大笔记录  
[
规则]:默认 1000  
222  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
格 式 :yyyy-MM-dd  
THH:mm:ssZ (UTC +0)  
startTimeStr  
endTimeStr  
string 否  
string 否  
[
规则]:只允许单钱包  
的渠道、 最大范围 10  
分钟,如果超过会以  
endTimeStr 上去 、  
每分钟只能访问 60 次  
withNo200  
bool  
long  
true / false  
不拿取 成功记录  
[
规则]:默认: false  
1514272017 时间戳  
签名字段  
timestamp  
signature  
string 是  
RSA(username  
channelId + timestamp)  
转成 RSA:请参考实  
+
作范例)  
currency  
string  
不是  
CNY  
只有多货币渠道需要添加  
详见表格  
Sample request  
{
"
"
"
"
"
"
"
"
}
username": "",  
channelId": -1,  
pageNum": 1,  
pageSize": 1000,  
startTimeStr": "2018-02-13 T12:00:00Z",  
endTimeStr": "2018-02-14 T12:00:00Z",  
timestamp": 1514272017,  
signature": "xxxxxxxxxxxx"  
223  
返回目錄  
二、 返回参数  
返回参数类型:JSON  
名称  
类型  
必须  
示范值  
描述  
status  
int  
200  
状态代码:  
2
2
4
4
4
4
4
00 成功  
02 渠道不存在  
025 无效的参数  
026 验签失败  
027 IP 无访问权  
037 用户不存在  
202 接口调用次数不足  
count  
int  
int  
1000  
总记录数  
remainingVisit  
剩余调用次数,每分钟只  
能访问 60 次  
seqNoHistorys  
apiVersion  
seqNoHistorys[]  
string  
看下面  
1.2.52  
API 版本  
(一) seqNoHistorys  
名称  
类型 必须  
string 是  
string 是  
string 是  
string 是  
示范值  
描述  
唯一参数  
用户名  
seqNo  
username  
test001  
RegisterOrLogin  
timestamp 格式  
event  
事物类型  
请求时间  
startRequestTime  
endResponseTime  
status  
string 是  
timestamp 格式  
响应时间  
交易状况  
int  
224  
返回目錄  
8.11 查詢報表<userbetsummary>  
请求 eBet 服务器地址为 api 地址:8888+’/api/userbetsummary’  
查询某个用户的下注成功纪录总额,可以根据时间。  
查询渠道所有用户的下注成功纪录总额,可以根据时间。  
搜寻区间可以精准到秒数。  
一、 输入参数  
这个参数是由渠道系统设置向 eBET API 服务器发送  
HTTP POST 请求。  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
string  
必须  
不是  
不是  
示范值  
描述  
username  
startTimeStr  
test  
用户名  
2016-04-01  
T10:10:10Z  
格 式  
THH:mm:ssZ ( UTC+0 )  
yyyy-MM-dd  
endTimeStr  
string  
不是  
2016-04-01  
T10:10:10Z  
格 式  
THH:mm:ssZ ( UTC+0 )  
yyyy-MM-dd  
channelId  
timestamp  
signature  
int  
-1  
渠道 ID  
int  
1447722613 当前时间Unix time)  
签名(字符串拼接)  
string  
username+timestamp  
gameType  
int  
不是  
未带入,预设全部捞取  
游戏编号:  
225  
返回目錄  
名称  
类型  
必须  
示范值  
描述  
1
2
3
4
5
6
:baccarat  
:dragon-tiger  
:sic-bo  
:roulette  
:slot  
:niuniu  
currency  
string  
不是  
CNY  
只有多货币渠道需要添加  
详见表格  
PS:如果有用名,可以只是 timestamp 转签名。  
PS:只算下注成功且派彩成功的案例  
PS:如果未时间寻参数传该日整天  
Sample request  
{
"
"
"
"
"
"
"
}
username": "",  
channelId": 1,  
startTimeStr": "2018-02-13 T12:00:00Z",  
endTimeStr": "2018-02-14 T12:00:00Z",  
timestamp": 1514272017,  
signature": "xxxxxxxxxxxx"  
gameType": 1  
二、 返回参数  
返回参数类型:JSON  
名称  
类型  
示范值  
描述  
226  
返回目錄  
名称  
类型  
int  
示范值  
10  
描述  
count  
totalBet  
投注成功的总单量  
投注成功的总额度  
预扣成功的总额度  
派彩成功的总额度  
double  
200.5  
37.5  
totalWithholding double  
totalPayout  
startTime  
endTime  
double  
int  
95.5  
1540198523452 开始搜寻时间(UTC+ 0)  
1540198535112 停止搜寻时间(UTC+ 0)  
int  
接口请求次数  
remainingVisits  
apiVersion  
status  
int  
10  
string  
int  
1.3.05  
200  
API 版本  
状态码  
Sample response  
{
"
"
"
"
"
"
"
"
"
}
count": 10,  
totalBet": 200.5,  
totalWithholding": 37.5,  
totalPayout": 95.5,  
startTime": 1540198523452,  
endTime": 1540198535112,  
remainingVisits": 10,  
apiVersion": "1.3.05"  
status": 200  
227  
返回目錄  
8.12 查詢下注細單<userbetTracer>  
请求 eBet 服务器地址为 api 地址:8888+’/api/userbetTracer’  
查询某个用户的下注纪录细单资讯的网址。  
进入该 URL,画面须显示游戏名称,投注日期,投注额,派彩  
金额,局号,会员下注牌型(文字+图示),牌局结果牌型(文  
+图示)。如贵司后台的投注详情。  
一、 输入参数  
这个参数是由渠道系统设置向 eBET API 服务器发送  
HTTP POST 请求。  
228  
返回目錄  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
string  
string  
必须  
不是  
示范值  
描述  
username  
roundCode  
test  
用户名  
B1-181115140029  
牌局号  
betHistoryId  
string  
贵司 eBET 下注纪录 ID,  
唯一值  
lang  
string  
int  
en_us  
语系。若没带预设英文  
渠道 ID  
channelId  
timestamp  
signature  
1
int  
1447722613  
当前时间  
int  
签名(字符串拼接)  
username+timestamp  
currency  
string  
不是  
CNY  
只有多货币渠道需要添  
详见表格  
[
]:可以用 usernameroundCode 或是 betHistoryId 2 种呼叫方  
取得料。  
]:如果有用名,可以只是 timestamp 转签名。  
[
Sample request no username  
{
"
"
"
"
"
"
roundCode": B1-181115140029,  
betHistoryId": "5bb18b0f755772a4744b4eed",  
lang": "en_us",  
channelId": 1,  
timestamp": 1447722613  
signature": 1  
229  
返回目錄  
}
Sample request no roundCode  
{
"
"
"
"
"
"
}
username": "test",  
betHistoryId": "5bb18b0f755772a4744b4eed",  
lang": "en_us",  
channelId": 1,  
timestamp": 1447722613  
signature": 1  
二、 返回参数  
返回参数类型:JSON  
名称  
类型  
string  
string  
int  
示范值  
1.3.05  
描述  
apiVersion  
path  
API 版本  
請看以下敘述  
态码  
status  
200  
2
2
00 -成功  
08 -找不到該紀錄  
细单 API URL path规则  
Path Sample  
http://192.168.0.25:50009/userBetTracer.html?userName=b016&channelId=1&roun  
dCode=D001-181115140029&lang=en_us&signature=Zo3zGVSuZhE5iUFTonljnptvINj  
A5Tef8CLtRFNJF4Ij+gc4jBVgaxXOT5rLPIgTfpkcTz6NIj6YH2FvtFEPDw==  
1
. 细单页面连结:http://<domain name>:port/userBetTracer.html  
230  
返回目錄  
2
3
4
5
6
. username = 用户名称  
. channelId = 渠道 id  
. roundCode = 牌局号  
. lang = 語系  
. 加入 display=1 为关闭有效投注栏位;不带入或添加 display=0 是显示有效投  
注栏位  
7
. signature = 签名(需由渠道用 GET method 自行添加上去)  
产生的规则为 RSA(channelId + username + roundCode + lang)  
有效投注栏位  
Sample response  
{
"
status": 200,  
path": "  
"
http://192.168.0.25:50009/userBetTracer.html?userName=b016&channelId=1&roun  
dCode=D001-181115140029&lang=en_us&signature=Zo3zGVSuZhE5iUFTonljnptvINj  
A5Tef8CLtRFNJF4Ij+gc4jBVgaxXOT5rLPIgTfpkcTz6NIj6YH2FvtFEPDw==",  
"apiVersion": "1.3.06"  
}
无有效投注栏位  
Sample response  
{
"
status": 200,  
path": "  
"
http://192.168.0.25:50009/userBetTracer.html?userName=b016&channelId=1&roun  
dCode=D001-181115140029&lang=en_us&  
display=1&signature=Zo3zGVSuZhE5iUFTonljnptvINjA5Tef8CLtRFNJF4Ij+gc4jBVgaxX  
OT5rLPIgTfpkcTz6NIj6YH2FvtFEPDw==",  
"apiVersion": "1.3.06"  
}
231  
返回目錄  
8.13 牌局結果路書<getcurrentluzhu>  
请求 eBet 服务器地址为 api 地址:8888+’/api/getcurrentluzhu  
回传当前已经结束的 30 笔牌局结果且转换成路书资讯  
一、 输入参数  
这个参数是由渠道系统设置向 eBET API 服务器发送  
HTTP POST 请求。  
Post 请求 contentTypeapplication/ JSON  
名称  
类型  
必须  
示范值  
B1  
描述  
tableCode  
channelId  
timestamp  
signature  
string  
桌号  
int  
int  
int  
1
渠道 ID  
1447722613  
当前时间  
签名(字符串拼接)  
timestamp  
currency  
string  
不是  
CNY  
只有多货币渠道需要添  
详见表格  
tableType  
int  
int  
1
0
游戏类型  
tableSubType  
游戏子类型  
232  
返回目錄  
二、 返回参数  
返回参数类型:JSON  
名称  
类型  
示范值  
描述  
count  
int  
10  
導出局数(最多 30)  
桌号  
tableCode  
string  
string[][]  
int[][]  
int  
B1  
Count > 0.统计结果,  
Count > 0,每局结果导出  
游戏类型  
luzhuStat  
luzhuList  
[[60],[68],[80]]  
tableType  
1
游戏子类型  
tableSubType  
remainingVisits  
int  
0
该分钟剩余请求次数, 目前设  
定每分钟 500 次  
int  
399  
状态代码:  
status  
int  
200  
2
4
4
4
4
00 - 成功  
202 - 接口调用次数不足  
025 - 参数错误  
026 - 验签失败  
027 - ip 无访问权限  
apiVersion  
string  
1.3.06  
API 版本  
LuzhuStat Example :  
百家樂: [[“banker”],[“player”],[“banker”],[“draw”]]  
輪盤: [[“red”, “odd”], [“black”, “odd”], [“red”, “even”]]  
233  
返回目錄  
Sample response  
{
"
"
"
"
"
count": 30,  
tableCode": "B1",  
tableType": 1,  
tableSubType": 0,  
luzhuList": [  
[
8
0
]
,
// 此為範例  
]
,
"
luzhuStat": [  
[
"
player"  
]
]
,
// 此為範例  
"
"
"
remainingVisits": 299,  
status": 200,  
apiVersion": "1.3.09"  
}
tableType: 1  
百家樂)  
tableType:2  
tableType:3  
tableType:4  
(
(龍虎)  
(輪盤)  
(骰寶)  
banker  
player  
draw  
dragon  
tiger  
red  
big  
black  
even  
odd  
small  
even  
odd  
draw  
zero  
allTriple  
API StatusCode --> 点此查看 章节 10.2  
234  
返回目錄  
9问题和答复(Q&A)  
9.1 关于登入问题  
问题  
回复  
有几种登入方式?  
第一种是普通登入,指用户会从  
eBet 游戏客户端的登入页面登入  
游戏。  
eBet 服务器获取了用户名名和  
密码,就会向渠道用户验证 API 服  
务器 发 HTTP POST 请求。  
渠道验证用户信息后再返回 eBet  
服 务 器 结 果 和 一 个 新 的  
accessToken。  
第二种是 Token 登入,以后用户退  
出游戏(不是退出账号)重新登入,  
则可以以之前返回的 accessToken  
用来验证用户。  
第 三 使 AppLinks 到  
eBet 手机应用游戏里。  
当用户已经在该渠道成功登入里以  
后,再点打开游戏,则会转用户去  
应用游戏而不用重新再游戏应用里  
登入。  
Token 是渠道自己自定义?  
是的,渠道可以自定义 Token 的  
值,还有设置 Token 的生命周期。  
渠道商的渠道 ID,如何得 eBet 管理员为渠道商成功开启  
到?  
了渠道之后,就会把渠道 ID 提供  
给渠道商开发人员知道,以便能进  
行系统对接。  
235  
返回目錄  
问题  
回复  
渠 道 eBet 管理员为渠道商成功开启  
道?  
了渠道之后,渠道商会有自己各自  
的渠道 web 后台  
eBet 管理员会把渠道 web 后台的  
地址链接和密码提供给渠道商。  
渠道商拿到了之后,需要更改密码。  
而创建子渠道就只有渠道商本身可  
以在渠道 web 后台里创建。  
渠道商可以定义子渠道的 不可以,每当创建新的子渠道,系  
ID 吗? 统会自动定义子渠道 ID,无法更改。  
渠道和子渠道可以用于相 不行的,因为渠道本身并没有能力  
同的用户名吗?  
去判断该用户是否是从哪一个子渠  
道。  
PS:建议渠道可以添加前缀或是后  
缀。  
渠 道 abc123 渠道本身系统可以把 abc123 和  
ABC123 是可以一样?  
ABC123 验证为相同的用户。  
当用户登入 eBet 客户端,输入用户  
名为 ABC123eBet 客户端会自动把  
ABC123 设置为 abc123,然后向渠道  
用户验证 API 服务器发送用户验证  
请求。  
PS:每次渠道向 eBet API 服务器发  
送请求之前,要把用户名定义成全  
小写。  
系统只是接受小字母)  
什么时候要返登入验证结 当渠道系统验证该用户是来自子渠  
果的子渠道 ID 道,就返 status 和子渠道 ID。  
PS:如果没有,就只返 status 和  
subChannelId 0。  
236  
返回目錄  
问题  
回复  
签名字段是如何得到?  
eBet 管理员成功为渠道商开启渠  
道后,每个渠道都有各自的 RSA 私  
钥匙和公钥匙。  
钥匙的格式 PEM。  
如 果 渠 道 商 的 开 发 人 员 是 使 用  
C# 则需要转换去 XML 的格式。  
如果使用其他开发语言好像 JAVA,  
PHP,则使用 PEM 的格式。  
eBet API 技术支持人员会提供  
私公钥匙的数据给渠道商的开发人  
员,以进行系统对接工作。  
而签名字段则要根据 API 文档里  
所 指 定 的 参 数 变 成 字 节 , 好 像  
username+timestamp,然后根据私  
钥匙进行签名。  
第一次登入的用户,如何为 方法一,每次渠道返回 eBet 服务  
他们充值,同步渠道和 eBet 器用户认证成功后,eBet 服务器会  
服务器数据库里的用户金 再 API HTTP  
额?  
POST 用户的信息,包括目前用户拥  
有的金额。这时,渠道系统就可以  
同步金额,为渠道转出或者转进金  
额。  
方法二,通过 eBET 提供的 API 接  
口成功创建新用户后,就可以为用  
户充值。  
如何限制指定子渠道用户 每次用户尝试登入应用的时候,  
不能登入游戏应用里?  
eBET 证  
API 服务器发送 HTTP POST,渠道  
API 验证该用户如果是来自子渠  
道,建议返回渠道维护当中的状态  
237  
返回目錄  
问题  
回复  
代码。  
如何创建新的用户在 eBET 方法一,每次新用户首次登入进  
服务器里?  
eBET 服务器里,eBET 服务器都会  
自动创建新的用户账号。  
方法二,通过 eBET 提供的 API 接  
口创建用户。  
新的渠道用户注册成功后, 当新用户注册成功后,如果是没有  
还没有登入 eBET 游戏该 登入进 eBET 服务器里就注明该充  
如 何 值记录为等待充值中。  
eBET 账  
号)  
每次用户登入成功后,eBET 服务器  
都会向渠道 API 发送用户信息以  
同步用户的金额。  
为什么使用不了手势或者 每次用户以用户名密码登入,渠道  
是指纹登入失败?  
API 应该返回新的 token eBET  
服务器。  
以后用户退出游戏(不是退出账  
号),用户就可以使用手势或者是指  
纹登入。  
需要用户名前缀吗?  
决定权在于渠道,只要渠道 web api  
验证没有问题就可以了。  
用户名和密码规定长度,值 并无上限限制,但建议使用 14 字  
和限制?  
符(禁止特殊符号)。  
如何设置用户昵称?  
用户的昵称是无法设置。在 APP 游  
戏里看到的昵称,好像神通小霸,  
只是显示在应用而已。  
238  
返回目錄  
9.2 关于查询用户信息问题  
问题  
回复  
可 以 不能,目前的 API 功能只提供  
息?  
查询单一的用户信息。  
此功能在什么情况下使用?  
当渠道系统为用户充值,转进转  
出金额时,可以现调此 API 功  
能来看到当前用户的金额。  
渠道服务器设用户名为 ABC123 不一样,eBet 服务器只接受  
abc123 , eBet API 服务 lowercase 小字母的英文字,大  
器发送查询用户请求,请问返回 字母不支持。  
结果是一样?  
9.3 关于充值问题  
问题  
回复  
请问要如何转出和转进用户 如果要转进,金额转进用户的现有金  
金额  
额里,就设 money 100 正数如果  
要转出,金额从用户的现有的金额转  
出,就设 money 为 -100 负数  
如果在向 eBet API 服务器 eBet 开发团建议渠道服务器每次向  
发送充值请求,而因网络问 eBet API 服务器发送充值请求的时  
题或者是请求超时,应该如 候,如果收到返回结果,则调查询用  
何处理?  
户充值状态;  
如果没有收到返回结果,有两种处理  
方式。一种是调查询用户信息来看用  
户之前和之后的金额是否一样,还有  
一种就是调查询用户充值状态来肯定  
发送的请求已经被处理或否。  
239  
返回目錄  
问题  
回复  
可以批量为多个用户充值?  
如果频密充值可以吗?  
不能。  
不行的,建议 1-2 分钟不然 ebet 服  
务器会返回系统繁忙导致充值失败。  
9.4 关于查询用户下注记录  
问题  
回复  
请问查询用户下注记录的数据 是同步。  
是否同步?  
实时查询最好是能延后 2~3 分  
钟在查询  
请问如何查看只有子渠道的用 可以把子渠道参数设为改子渠  
户下注记录?  
ID 就好。  
请问可以进行各每个时间端获 可以。可以是每 10 秒, 10  
取用户下注记录?  
分钟,每一小时,每一天 11:59  
晚上之前,根据渠道业  
务需求。PS:为了肯定获取数据  
不会加压我们的 API 组件, 建  
15 分钟 获取数据,每次  
返回 1000 之内会较好。  
请问可以只查看几个指定的用 不可以,只可以看某个用户下注  
户下注记录而已?  
纪录,或者是某个渠道的所有用  
户,或者是某个子渠道的所有用  
户,或者是某开始和结束时间的  
用户下注记录而已。  
请问查询用户下注记录功能可 目前只返回用户下注的数据记  
以统计用户的输和赢?  
录而已。如果渠道要统计用户的  
输和赢,只有两个方法。  
第一种是到渠道本身的 web 后  
台查看。  
240  
返回目錄  
问题  
回复  
第二种是当渠道服务器请求和  
收到返回结果后,把数据再分析  
和统计一遍。  
请问查询用户投注记录,出现乱 乱码用户名是测试用户的数据,  
码用户名? 获取投注记录时需要自行过滤。  
9.5 关于对接注意事项  
登入 API 的设计建议把所有的请求和返回参数记录在系统里,  
可以保存在 text.log 文件或者是数据库里。  
为了方便检查该渠道对接问题,请把请求和返回参数值提供给  
eBET 技术支持为您排除问题。  
目前测试的数据是不能被删除,所以建议使用 1 2 个测试  
账号。  
9.6 Ebet 方会发整合数据给对接方  
一、  
二、  
三、  
四、  
五、  
六、  
七、  
八、  
渠道 ID  
私钥匙和公钥匙  
AppLinks 链接地址  
eBet API 地址 (HTTP POST 请求)  
http://domain:port/api/userinfo  
http://domain:port/api/recharge  
http://domain:port/api/rechargestatus  
http://domain:port/api/userhistory  
241  
返回目錄  
九、  
十、  
渠道后台 Url 和登入密码  
渠道应用 (手机 APP)  
十一、 API 文檔  
PS:贵方提交给我方客服开通渠道 API 文档之后,请提供邮  
件箱在群里,当渠道开通后我方将会发以上相关资料给贵方。  
这数据非常谨慎如果泄露出去,贵方渠道的机密数据将会暴露  
出去。  
重要事项:  
关于访问 ebet API 安全措施:  
我们这里是需要您们提供当您们调用 ebet api/api/syncuser,  
/api/userinfo/api/recharge...)的 ip 地址。  
我方添加之后就只有提供的 ip 地址才可以访问 ebet api  
/api/syncuser/api/userinfo/api/recharge...)。  
PS:我方已提醒贵方安全措施,后期遇上关于访问 ebet api 特  
殊状况请自负。  
242  
返回目錄  
9.7 代码样本(供参考)  
9.7.1 C# 登入 API 代码样本  
ASP.NET WEB API framework 4.*-(更详细请看示范代码)  
[
HttpPost]//说明请求方式是 POST 请求  
public HttpResponseMessage RegisterOrLogin() //方法名,返回 HTTP  
Response  
Stream stream =  
HttpContext.Current.Request.GetBufferedInputStream();//读取  
HTTP input stream StreamReader reader = new  
StreamReader(stream);// 使用 streamReader 读取 stream  
string jsonPost = reader.ReadToEnd(); //读取 stream  
RegisterOrLoginResp resp = new RegisterOrLoginResp(); // 建立一个  
model 对象  
if (jsonPost.Contains("RegisterOrLoginReq"))// 如果是  
RegisterOrLoginReq,处理登入请求  
// 转换去对象  
RegisterOrLoginReq req =  
JsonConvert.DeserializeObject<RegisterOrLoginReq>(jsonPost);//读取对  
象值参数  
if (req.username == xx && req.password == xx) ………..  
return Request.CreateResponse(resp);//返回请求响应 (JSON 数据)  
else if (jsonPost.Contains("UserInfo")) //处理 userinfo 请求  
// 处理用户充值等等….  
9.7.2 JAVA 登入 API 代码样本  
JAVA SPRING WEB API 4.*-(更详细请看示范代码)  
@
RequestMapping(value="/login", method = RequestMethod.POST) //  
说明请求方式是 POST 请求 public  
ResponseEntity<RegisterOrLoginResp> ValidateLoginInfo  
(HttpServletRequest request, HttpServletResponse response) { // 用户  
登入验证方法  
243  
返回目錄  
InputStream reader = request.getInputStream();//读取  
HTTP input stream BufferedReader br =new BufferedReader(new  
InputStreamReader(reader)); //用来读取 stream  
// stream 转换成 json string  
StringBuilder sb= new StringBuilder();  
String jsonString = "";  
while((jsonString = br.readLine()) != null) {  
sb.append(jsonString);  
}
ObjectMapper mapper = new ObjectMapper(); // 用来转换 JSON 去对  
RegisterOrLoginReq req =  
mapper.readValue(jsonString,RegisterOrLoginReq.class); // 转换指定的  
对象 RegisterOrLoginResp resp = new RegisterOrLoginResp(); // 建立返  
回请求响应对象  
if req.getUsername() == xx && req.getPassword() == xx{...}  
resp.setStatus(200);  
/
/设置对象参数值  
return new ResponseEntity<RegisterOrLoginResp>(resp,HttpStatus.OK);  
/ 返回请求结果  
/
244  
返回目錄  
9.7.3 PHP 登入 API 代码样本  
(PHP 5.5.*) -(更详细请看示范代码)  
<?php  
$
post = file_get_contents('php://input'); //读取 HTTP input stream  
if ($_SERVER[“REQUEST_METHOD”] == “POST”)//检查是否是 POST  
请求  
$
$
obj = json_decode($post); // JSON 字符串译码  
cmd = $obj→{'cmd'}; // 读取 参数值  
if($cmd == "RegisterOrLoginReq"){..//处理用户登入验证请求 if($cmd  
= "UserInfo"){…}  
=
/
/
/处理 userinfo 请求  
/设置返回参数值  
$
data = array('cmd' => 'RegisterOrLoginResp','status'=>200);  
header('Content-type: application/json');  
echo json_encode($data);}  
9.7.4 C# 请求服务器资源代码样本  
public class UserInfoResppublic string username { get; set; }//定义  
model  
var client = new WebClient(); //建立 webClient 对象  
var parameters = new NameValueCollection(); // 使用  
NameValueCollection 封装请求参数值 parameters["username"]“xx”  
//设置请求值  
var response = client.UploadValues("请求地址", parameters);//请求服  
务器资源  
var jsonString = Encoding.Default.GetString(response); // 读取译码  
JSON 字符串  
UserInfoResp resp =  
JsonConvert.DeserializeObject<UserInfoResp>(jsonString); //转换去对  
Console.WriteLine(resp.status);//读取 对象参数值  
245  
返回目錄  
9.7.5 JAVA 请求服务器资源代码样本  
CloseableHttpClient client = HttpClients.createDefault(); //创建  
HTTP client 对象 HttpPost httpPost = new HttpPost("请求地址 URL");//  
设置 POST 请求地址 URL ArrayList<NameValuePair> params = new  
ArrayList<NameValuePair>();//用来封装请求参数值 params.add(new  
BasicNameValuePair("username", “xxx”)); //设置参数值  
httpPost.setEntity(new UrlEncodedFormEntity(params)); // url encode  
form 编码 CloseableHttpResponse response = client.execute(httpPost);  
/
/
/发送 HTTP POST 请求  
/读取请求返回内容  
BufferedReader reader = new BufferedReader(new  
InputStreamReader(response.getEntity().getContent())); StringBuilder  
builder = new StringBuilder(); String line = "";  
while( (line = reader.readLine()) != null) {  
builder.append(line);  
}
ObjectMapper mapper = new ObjectMapper();  
UserInfoResp resp =  
mapper.readValue(builder.toString(),UserInfoResp.class);//转换 JSON  
字符串去对象 System.out.println(resp.getLoginname());//读取参数值  
9.7.6 PHP 请求服务器资源代码样本  
$
'
$
data = array('username' => xxx,  
channelId'=>'xx','timestamp'=>xxx,'signature'=>xxx);  
options = array(  
'
'
'
'
http' => array(  
header' => "Content-type: application/x-www-form-urlencoded\r\n",  
method' => 'POST',  
content' => http_build_query($data), ), );  
$
$
context = stream_context_create($options);//发送 HTTP POST 请求  
result = file_get_contents($url, false, $context); //读取 HTTP POST 请  
求回应  
246  
返回目錄  
$
obj = json_decode($result);  
$
status = $obj→{'status'}; //读取参数值  
247  
返回目錄  
9.8 RSA 代码实作参考  
9.8.1 C# RSA 实现方法  
//私钥匙加密  
public static string SignAndHash(string dataToSign ,string privatekey)  
{
UnicodeEncoding ByteConverter = new UnicodeEncoding();  
RSACryptoServiceProvider RSAProvider = new  
RSACryptoServiceProvider();  
var encoder = new UTF8Encoding();  
byte[] plaintext = encoder.GetBytes(dataToSign);  
RSAProvider.FromXmlString(privatekey);  
RSAParameters priKey = RSAProvider.ExportParameters(true);  
RSAProvider.ImportParameters(priKey);  
byte[] sign = RSAProvider.SignData(plaintext,  
CryptoConfig.MapNameToOID("MD5"));  
return Convert.ToBase64String(sign);  
}
//公钥匙验证  
public static bool VerifySignedHash(string dataToSign, string SignedData,  
string public_key) {  
try{  
UnicodeEncoding ByteConverter = new UnicodeEncoding();  
var encoder = new UTF8Encoding();  
RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();  
RSAParameters priKey = RSAalg.ExportParameters(true);  
RSAalg.ImportParameters(priKey);  
RSAalg.FromXmlString(public_key);  
byte[] plaintext = encoder.GetBytes(dataToSign);  
return RSAalg.VerifyData(plaintext,  
CryptoConfig.MapNameToOID("MD5"),  
Convert.FromBase64String(SignedData));  
248  
返回目錄  
}catch (CryptographicException e){ Console.WriteLine(e.Message + "  
Error!!!");  
Console.ReadLine();  
return false;}}  
9.8.2 JAVA RSA 实现方法  
//私钥匙加密  
public static String sign(byte[] data,String privateKey)throws  
NoSuchAlgorithmException,  
InvalidKeySpecException, InvalidKeyException, SignatureException {byte[]  
keyBytes = Base64.getDecoder().decode(privateKey.getBytes());  
PKCS8EncodedKeySpec pkcs8EncodedKeySpec = new  
PKCS8EncodedKeySpec(keyBytes);  
KeyFactory keyFactory = KeyFactory.getInstance("RSA");  
PrivateKey priKey = keyFactory.generatePrivate(pkcs8EncodedKeySpec);  
Signature signature = Signature.getInstance("MD5withRSA");  
signature.initSign(priKey);  
signature.update(data);  
return new String(Base64.getEncoder().encode(signature.sign())); }  
//公钥匙验证  
public static boolean verify(byte[] data,String publicKey,String  
sign)throws Exception{  
byte[] keyBytes = Base64.getDecoder().decode(publicKey.getBytes());  
X509EncodedKeySpec x509EncodedKeySpec = new  
X509EncodedKeySpec(keyBytes);  
KeyFactory keyFactory = KeyFactory.getInstance("RSA");  
PublicKey publicKey2 =  
keyFactory.generatePublic(x509EncodedKeySpec);  
Signature signature = Signature.getInstance("MD5withRSA");  
signature.initVerify(publicKey2);  
signature.update(data);  
return signature.verify(Base64.getDecoder().decode(sign));  
}
249  
返回目錄  
9.8.3 PHP RSA 实现方法  
RSA PHP 库地址:https://github.com/phpseclib/phpseclib/tree/1.0  
/私钥匙加密  
/
$
$
$
$
$
rsa = new Crypt_RSA();  
rsa→loadKey(xxx;//xxx 私钥匙  
rsa→setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);  
rsa→setHash("md5");  
signature = $rsa→sign($plaintext); echo base64_encode($signature);  
//公钥匙验证  
$
$
$
rsa->loadKey('publickey');  
rsa→setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);  
rsa→setHash("md5");  
echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified';  
9.8.4 oAuth JS 窗口关闭  
<script type="text/javascript">  
if(window.AndroidBridge)  
{
// native - android app  
window.AndroidBridge.closeWebview();  
}
else if(window.webkit)  
{
// native - ios app  
window.webkit.messageHandlers.closeOauthLogin.postMessage(null);  
}
else  
{
250  
返回目錄  
// h5  
parent.postMessage({  
msg: "closeOauthLogin"  
}, "*");  
}
</script>  
9.9 关于 ebet 後台操作注意事项  
一、 后台资料保留天数为 60,若超过该天数则需请我方运维协  
助查询  
251  
返回目錄  
9.10 子渠道  
9.10.1 渠道如何创建子渠道?  
请登录后台,在管理中心中点击子渠道管理,然后点击添  
,输入渠道名称后点击确定,即会生成渠道 ID。 (请观看  
以下截图流程)  
截图 1)  
截图 2)  
截图 3)  
252  
返回目錄  
9.10.2渠道如何获得子渠道 ID?  
渠道成功创建子渠道,后台就会生成子渠道的数据了,截  
图内红色的框就是子渠道的 ID 了。 (请观看以下的截图)  
9.10.3 子渠道如何创建用户?  
请参考第三章-创建用户<syncuser>  
9
.10.4 怎样知道用户已经是子渠道用户了呢?  
渠道可以通过后台用户列表。  
如果用户登入将会有 Log 在后台。(请观看以下截图流程)  
截图 1)  
截图 2)  
253  
返回目錄  
9.10.5子渠道和渠道对接需要注意的信息  
一、 可以供子渠道(代理)超级后台  
二、 建议对接可以创建一套 API 系统给子渠道(代理)使用。  
三、 验证用户的 API 连接只有一个是由渠道验证。(子渠道无需  
验证接口)  
四、 重要:渠道绝对不可以给子渠道私钥和公钥, API 地址。(这  
些只有渠道可以知道而已)  
五、 如果提供给子渠道, 这样会暴露整条线路和其他机密数据,  
包括渠道和其他子渠道的数据。  
六、 子渠道创建后是无法被删除的。  
9.10.6禁止子渠道的处理方法  
一、 设置 API 访问的白名单 IP  
二、 冻结该子渠道下的使用用户  
254  
返回目錄  
10备注窗体  
10.1 扑克牌牌面代码  
c = 梅花  
d = 方块  
2d = 13  
3d = 14  
4d = 15  
5d = 16  
6d = 17  
7d = 18  
8d = 19  
9d = 20  
Td =21  
Jd =22  
h = 红心  
2h =26  
3h = 27  
4h = 28  
5h = 29  
6h = 30  
7h = 31  
8h = 32  
9h = 33  
Th =34  
Jh =35  
s = 黑桃  
2s=39  
3s=40  
4s=41  
5s=42  
6s=43  
7s=44  
8s=45  
9s=46  
Ts=47  
Js=48  
2c = 0  
3c = 1  
4c = 2  
5c = 3  
6c = 4  
7c = 5  
8c = 6  
9c = 7  
Tc = 8  
Jc = 9  
Qc =10  
Kc =11  
Ac =12  
Qd = 23  
Kd =24  
Ad =25  
Qh = 36  
Kh =37  
Ah =38  
Qs = 49  
Ks =50  
As =51  
10.2 赔率表格  
龙虎  
龙虎游戏  
赔率  
1:1(开和时输一半下注金额)  
1:1(开和时输一半下注金额)  
1:8  
255  
返回目錄  
百家乐  
百家乐  
房间类型:普通  
赔率  
房间类型:免佣  
赔率  
:1  
1
1:0.95  
1:0.5(以 6 点赢  
出)  
1:1  
1:1  
1:8  
1:8  
闲对  
庄对  
龙宝  
1:11  
1:11  
闲对  
庄对  
龙宝  
1:11  
1:11  
1
1
1
1
1
1
1
:30  
:10  
:5  
1:30  
1:10  
1:5  
胜方以(非例牌)9 点  
胜方以(非例牌)9 点  
龙宝  
龙宝  
胜方以(非例牌)8 点  
胜方以(非例牌)8 点  
龙宝  
龙宝  
胜方以(非例牌)7 点  
龙宝  
胜方以(非例牌)7 点  
龙宝  
:3  
1:3  
胜方以(非例牌)6 点  
龙宝  
胜方以(非例牌)6 点  
龙宝  
:2  
1:2  
胜方以(非例牌)5 点  
龙宝  
胜方以(非例牌)5 点  
龙宝  
:1  
1:1  
胜方以(非例牌)4 点  
龙宝  
胜方以(非例牌)4 点  
龙宝  
:1  
1:1  
胜方以(例牌)赢出  
龙宝  
胜方以(例牌)赢出  
龙宝  
退还下注  
退还下注  
(
例牌)和局  
(例牌)和局  
1:0.54  
1:1.5  
1:0.54  
1:1.5  
庄单  
1:0.94  
1:0.94  
1:0.96  
1:0.90  
1:12  
庄单  
1:0.94  
1:0.94  
1:0.96  
1:0.90  
1:12  
庄双  
庄双  
闲单  
闲单  
闲双  
闲双  
幸运六  
幸运六  
幸运六(庄 3 6)  
1:20  
幸运六(庄 3 6)  
1:20  
256  
返回目錄  
轮盘  
骰宝  
轮盘游戏  
/小  
/双  
/黑  
赔率  
1:1  
骰宝游戏  
赔率  
1:1  
1:1  
1:1  
1:1  
1:1  
1:2  
1:1  
1:2  
4 点或 17 点  
5 点或 16 点  
6 点或 15 点  
7 点或 14 点  
8 点或 13 点  
9 - 12 点  
围骰  
1:50  
直接注  
分注  
1:35  
1:17  
1:11  
1:8  
1:18  
1:14  
街注  
1:12  
角注  
1:8  
三数  
1:11  
1:8  
1:6  
四个号码  
线注  
1:150  
1:5  
全围  
1:24  
长牌(对子)  
短牌(组合)  
1:8  
1:5  
1
:1(开出一次)  
单点数  
1:2(开出二次)  
1
:3(开出三次)  
二同号  
三不同  
1:60  
1:30  
牛牛(玩家赢的赔率)  
牛牛游戏  
赔率(平倍)  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
赔率(翻倍)  
1:4.75  
1:2.85  
1:1.90  
1:1.90  
1:1.90  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
五花牛 (5JQK)  
牛牛  
9  
8  
7  
6  
5  
4  
3  
257  
返回目錄  
2  
1  
无牛  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
牛牛(玩家输的赔率)  
牛牛游戏  
赔率(平倍)  
赔率(翻倍)  
1:5  
五花牛 (5JQK)  
1:1  
牛牛  
9  
8  
7  
6  
5  
4  
3  
2  
1  
无牛  
1:1  
1:3  
1:1  
1:2  
1:1  
1:2  
1:1  
1:2  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
258  
返回目錄  
10.3 ApiStatusCode  
状态代码  
英文描述  
The serial number does not exist  
Charge now  
描述  
流水号不存在  
充值中  
-
1
0
2
2
2
2
2
2
2
00  
01  
02  
03  
04  
05  
06  
Success  
seqNo Repeated  
成功  
seqNo 重复  
渠道不存在  
Channel not existing  
recharge can't null  
Recharge money can't null  
Recharge money too small  
seqNo not existing  
充值 ID 不能为空  
充值金额不能为 0  
充值金额太小  
seqNo 不存在  
返还 refund 金钱计  
算不一致  
207  
208  
209  
refund Money Inconsistent  
Can't find the record  
找不到该纪录  
autoBatchRefund  
经退款的数据  
check Record Already Refund  
4
4
5
5
01  
10  
00  
05  
User or password error  
Invalid Token  
Server Error  
Server Maintenance  
System busy, try back later  
swTimeout  
invalid parameter  
Invalid signature  
用户名或密码不正确  
Token 无效  
Server Error  
系统维护  
4003  
4004  
4025  
4026  
4027  
4028  
4029  
4030  
4037  
4038  
4202  
5001  
访问超时  
单钱包访问超时  
参数不对  
签名不对  
IP is not authorized  
trial user cant recharge credit  
functionDisable  
IP 不允许  
试玩玩家不能充值  
function disable  
data type error  
用户不存在  
频繁请求  
dataTypeParam  
User not existence  
Frequent request  
reach the API max attempt  
Fail to charge  
达到访问上限  
充值失败  
259  
返回目錄  
状态代码  
英文描述  
Not enough cash  
None existing sub channel  
swHasNoThisFunc  
wallet not enabled  
drawNotEnabledinGame  
描述  
5002  
5003  
5004  
5005  
5006  
余额不足,取款失败  
子渠道不存在  
单钱包无此功能  
多钱包尚未开启  
游戏中无法提领  
10.4 swStatusCode  
状态代码  
英文描述  
描述  
成功  
200  
201  
202  
206  
208  
410  
500  
505  
Success  
seqNo Repeated  
seqNo 重复  
渠道不存在  
seqNo 不存在  
找不到該紀錄  
Token 无效  
Server Error  
系统维护  
Channel not existing  
seqNo not existing  
Can't find the record  
Invalid Token  
Server Error  
Server Maintenance  
System busy, try back later  
4003  
访问超时  
user in ladder baccarat, can't 用户正在大赛,不能充  
4010  
recharge  
4
4
4
4
4
4
5
025  
026  
027  
028  
037  
202  
003  
invalid parameter  
Invalid signature  
参数不对  
签名不对  
IP is not authorized  
trial user cant recharge credit  
User not existence  
reach the API max attempt  
None existing sub channel  
Single wallet not have this  
feature  
IP 不允许  
试玩玩家不能充值  
用户不存在  
达到访问上限  
子渠道不存在  
5004  
单钱包无此功能  
1001  
1002  
1003  
Disconnected  
WS Server not handshake  
Insufficient Fund  
对方断线  
没完成握手  
余额不足  
260  
返回目錄  
v5.6.4 更新内容  
新增 increaseCredit 機制說明  
派彩時我方有做 retry機制,若先已處理成功,則之  
後的請求請忽視(這個機制只有派彩才有,投注沒有此機制)  
修改牛牛赔率表  
牛牛新赔率表  
牛牛(玩家赢的赔率)  
赔率(平倍)  
1:0.95  
牛牛游戏  
赔率(翻倍)  
1:4.75  
1:2.85  
1:1.90  
1:1.90  
1:1.90  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
五花牛 (5JQK)  
牛牛  
9  
8  
7  
6  
5  
4  
3  
2  
1  
无牛  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
1:0.95  
牛牛(玩家输的赔率)  
牛牛游戏  
赔率(平倍)  
赔率(翻倍)  
1:5  
五花牛 (5JQK)  
1:1  
牛牛  
9  
8  
1:1  
1:3  
1:1  
1:2  
1:1  
1:2  
261  
返回目錄  
7  
6  
5  
4  
3  
2  
1  
无牛  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:2  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
1:1  
修改牛牛預扣金額  
因為賠率的變動,所以預扣金額的部分也做修改  
当玩家下注翻倍而且输钱时,派彩金额可能有四种状况:  
1
2
3
.庄家牌型为牛五花,派彩金额=0(玩家输本金+全部预扣)  
.庄家牌型为牛牛,派彩金额=本金*2 (玩家输三倍本金)  
.庄家牌型为牛 9、牛 8、牛 7,派彩金额=本金*3 (玩家输两倍本  
)  
4
.庄家牌型为牛 1~牛 6,派彩金额=本金*4 (玩家输一倍本金)  
例子:玩家下注『闲家一号翻倍』100元,额外收取 400元预扣(共  
5
1
2
3
4
00),假如输牌,  
.庄家牌型为牛五花,payout0  
.庄家牌型为牛牛,payout200  
.庄家牌型为牛 9、牛 8、牛 7payout300  
.庄家牌型为牛 1~牛 6payout400  
262  
返回目錄